

/* Start:/local/templates/2026_master/assets/css/site-font-gov-5.css?17853457427979*/
/*
 * Единая типографика сайта ГРС.
 * Версия 2, архив 14.
 * Иконки, SVG и служебные пиктограммные шрифты намеренно не затрагиваются.
 */

html,
body,
button,
input,
textarea,
select {
    font-family: "Montserrat", Arial, sans-serif !important;
}

/* Раскрытое меню: голубые фоны и читаемый тёмно-синий текст. */
.v-header .menu-wrapper {
    background: linear-gradient(
        90deg,
        #eaf4fb 0,
        #eaf4fb 25%,
        #f7fbfe 25%,
        #f7fbfe 50%,
        #fff 50%,
        #fff 100%
    ) !important;
}

.v-header .menu-wrapper .lvl-1 {
    background: #eaf4fb !important;
}

.v-header .menu-wrapper .lvl-2 {
    background: #f7fbfe !important;
}

.v-header .menu-wrapper .lvl-3 {
    background: #fff !important;
}

.v-header .menu-wrapper .item,
.v-header .menu-wrapper .item:link,
.v-header .menu-wrapper .item:visited {
    color: #194574 !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-weight: 500;
}

.v-header .menu-wrapper .item:hover,
.v-header .menu-wrapper .item.active,
.v-header .menu-wrapper .item.active-link {
    color: #2d74ad !important;
}

.v-header .menu-wrapper .item .arr path {
    fill: #194574 !important;
    stroke: #194574 !important;
}

.v-header .menu-wrapper .item:hover .arr path,
.v-header .menu-wrapper .item.active .arr path {
    fill: #2d74ad !important;
    stroke: #2d74ad !important;
}

.v-header .menu-wrapper .links {
    background: #194574 !important;
}

.v-header .menu-wrapper .links .v-btn,
.v-header .menu-wrapper .links .v-btn.beige {
    color: #fff !important;
    background: #2d74ad !important;
    border: 1px solid #2d74ad !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-weight: 600;
}

.v-header .menu-wrapper .links .v-btn:hover,
.v-header .menu-wrapper .links .v-btn.beige:hover,
.v-header .menu-wrapper .links .v-btn:focus-visible {
    color: #194574 !important;
    background: #fff !important;
    border-color: #cbddec !important;
}

html body .v-header .v-card-link .cnt,
html body .v-header .v-card-link .bx-basket-block {
    color: #fff !important;
    background: #2d74ad !important;
    border-color: #2d74ad !important;
}

/* Единые шапка и подвал для всех новых типов страниц. */
html body .v-header,
html body header.v-header,
html body .bg-black.v-header {
    color: #fff !important;
    background: #194574 !important;
    border-bottom: 5px solid #f41f2a !important;
}

html body .v-header a,
html body .v-header .phone,
html body .v-header .work-time,
html body .v-header .worktime,
html body .v-header .address,
html body .v-header .logo .name,
html body .v-header .begie-color {
    color: #fff !important;
}

html body .v-header svg path {
    stroke: #fff;
}

html body .v-footer,
html body footer.v-footer,
html body .v-footer.bg-black {
    color: #fff !important;
    background: #194574 !important;
    border-top: 5px solid #f41f2a !important;
}

html body .v-footer a,
html body .v-footer .white-color,
html body .v-footer .begie-color,
html body .v-footer .logo .name,
html body .v-footer .menu a {
    color: #fff !important;
}

html body .v-footer .copy,
html body .v-footer .dev,
html body .v-footer .dev a {
    color: rgba(255, 255, 255, .72) !important;
}

/* Согласованная горизонтальная панель основных разделов под шапкой. */
html body .grs-approved-section-nav {
    background: #dcecf7 !important;
    border-bottom: 1px solid #b8d2e5 !important;
    box-shadow: 0 5px 18px rgba(25, 69, 116, .08);
}

html body .grs-approved-section-nav > .v-container {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 0;
    padding-top: 0;
    padding-bottom: 0;
}

html body .grs-approved-section-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 0 28px;
    color: #194574 !important;
    border-inline: 1px solid transparent;
    background: transparent !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease;
}

html body .grs-approved-section-nav a:hover,
html body .grs-approved-section-nav a:focus-visible {
    color: #194574 !important;
    border-color: #b8d2e5;
    background: #fff !important;
}

@media (max-width: 767px) {
    html body .grs-approved-section-nav {
        display: none;
    }
}

/* Основной призыв к действию перед подвалом на всех оформленных страницах. */
html body .v-contact-form-wrapper form.vi-form button.v-btn[type="submit"],
html body .v-contact-form form.vi-form button.v-btn[type="submit"],
html body form.vi-form button.v-btn[type="submit"],
html body .contacts-page-form-wrapper button.v-btn[type="submit"] {
    color: #fff !important;
    background: #f41f2a !important;
    border-color: #f41f2a !important;
    box-shadow: 0 9px 22px rgba(244, 31, 42, .2) !important;
}

html body .v-contact-form-wrapper form.vi-form button.v-btn[type="submit"]:hover,
html body .v-contact-form form.vi-form button.v-btn[type="submit"]:hover,
html body form.vi-form button.v-btn[type="submit"]:hover,
html body .contacts-page-form-wrapper button.v-btn[type="submit"]:hover {
    color: #fff !important;
    background: #c9151c !important;
    border-color: #c9151c !important;
}

.v-mobile-menu,
.v-mobile-menu .menu-item.lvl-1 {
    background: #eaf4fb !important;
}

.v-mobile-menu .menu-item.lvl-2 {
    background: #f7fbfe !important;
}

.v-mobile-menu .menu-item,
.v-mobile-menu-wrapper .menu-item a {
    color: #194574 !important;
    font-family: "Montserrat", Arial, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
button,
label,
input,
textarea,
select,
option,
li,
dt,
dd,
th,
td,
caption,
blockquote,
figcaption,
small,
strong,
b,
em,
.title,
.subtitle,
.name,
.text,
.description,
.price,
.address,
.worktime,
.phone,
.menu,
.v-btn,
.v-page-title,
.product-item-title,
.product-item-price-current,
.product-item-price-old,
.merriweather-light,
.merriweather-regular,
.merriweather-bold {
    font-family: "Montserrat", Arial, sans-serif !important;
}

/* Повышенный приоритет над стилями отдельных компонентов Bitrix. */
html body main .v-container h1,
html body main .v-container h2,
html body main .v-container h3,
html body main .v-container h4,
html body main .v-container h5,
html body main .v-container h6,
html body main .v-container p,
html body main .v-container a,
html body main .v-container button,
html body main .v-container label,
html body main .v-container li,
html body main .v-container .title,
html body main .v-container .subtitle,
html body main .v-container .name,
html body main .v-container .text,
html body main .v-container .description,
html body main .v-container .price,
html body main .v-container [class*="merriweather"],
html body .v-header .address,
html body .v-header .worktime,
html body .v-header .phone,
html body .v-header .logo .name,
html body .v-header .top-menu a,
html body .v-header .toggle-menu-btn,
html body .v-footer,
html body .v-footer a,
html body .v-footer .name {
    font-family: "Montserrat", Arial, sans-serif !important;
}

@media (max-width: 768px) {
    html,
    body,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    a,
    button,
    label,
    input,
    textarea,
    select,
    li,
    small,
    strong,
    b,
    .title,
    .subtitle,
    .name,
    .text,
    .description,
    .price,
    .address,
    .worktime,
    .phone,
    .v-btn,
    [class*="merriweather"] {
        font-family: "Montserrat", Arial, sans-serif !important;
    }
}

/* End */


/* Start:/local/templates/2026_master/assets/css/home-gov-7.css?178550647523724*/
/*
 * Цветовой тест главной страницы ГРС.
 * HTML, тексты, порядок блоков, логотип, шапка и подвал не изменяются.
 */
:root {
    --grs-navy: #153b6b;
    --grs-blue: #276da8;
    --grs-light-blue: #eaf4fb;
    --grs-pale-blue: #f5f9fc;
    --grs-red: #ed1c24;
    --grs-red-dark: #c9141c;
    --grs-white: #ffffff;
    --grs-ink: #172a3d;
    --grs-muted: #5e6e7d;
    --grs-line: #d4e1eb;
}

body {
    color: var(--grs-ink);
    background: var(--grs-white);
    font-family: Montserrat, Arial, sans-serif !important;
}

body button,
body input,
body textarea,
body select,
body .merriweather-light,
body .merriweather-regular,
body .merriweather-bold {
    font-family: Montserrat, Arial, sans-serif !important;
}

body .merriweather-light {
    font-weight: 400 !important;
}

/* Первый экран начинается сразу с текста «Мы заботимся…». */
.grs-home-hero > .content > h1.title {
    display: none !important;
}

.grs-home-hero > .content > .text {
    margin-top: 0 !important;
}

.grs-home-hero__service-title {
    margin: 0 0 22px;
    color: var(--grs-navy);
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: clamp(21px, 2.15vw, 33px);
    line-height: 1.22;
    font-weight: 700;
    text-align: left;
}

@media (max-width: 768px) {
    .grs-home-hero__service-title {
        margin-bottom: 16px;
        font-size: 21px;
        line-height: 1.25;
        text-align: center;
    }
}

body .merriweather-regular {
    font-weight: 500 !important;
}

body .merriweather-bold {
    font-weight: 700 !important;
}

/* Шапка остается прежней по структуре и с исходным логотипом. */
.v-header {
    background: var(--grs-navy) !important;
    border-bottom: 4px solid var(--grs-red);
}

.v-header .logo .name,
.v-header .begie-color {
    color: var(--grs-white) !important;
}

.grs-approved-section-nav {
    background: var(--grs-light-blue);
    border-bottom: 1px solid #bfd5e7;
    box-shadow: 0 5px 16px rgba(39, 109, 168, .1);
}

.grs-approved-section-nav > .v-container {
    display: flex;
    justify-content: center;
    gap: clamp(18px, 3vw, 44px);
    padding-top: 15px;
    padding-bottom: 15px;
}

.grs-approved-section-nav a {
    color: var(--grs-navy);
    font: 600 13px/1.35 Montserrat, Arial, sans-serif;
    text-decoration: none;
}

/* Первый экран: исходные заголовок, текст, телефон и кнопка. */
.v-main-banner {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    position: relative;
    overflow: hidden;
    color: var(--grs-ink);
    background:
        linear-gradient(90deg, rgba(21, 59, 107, .045) 1px, transparent 1px),
        linear-gradient(rgba(21, 59, 107, .045) 1px, transparent 1px),
        linear-gradient(135deg, var(--grs-white), var(--grs-light-blue)) !important;
    background-size: 42px 42px, 42px 42px, auto !important;
    border-bottom: 1px solid var(--grs-line);
}

.v-main-banner > .v-container {
    width: 100%;
    max-width: 1520px !important;
    margin-right: auto;
    margin-left: auto;
}

.v-main-banner::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 7px;
    background: linear-gradient(
        to bottom,
        var(--grs-white) 0 33.33%,
        var(--grs-blue) 33.33% 66.66%,
        var(--grs-red) 66.66%
    );
}

/* Убирается только изображение ангела. Сам блок остается на месте. */
.v-main-banner > img {
    display: none !important;
}

.v-main-banner .content {
    position: relative;
    z-index: 1;
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto;
    padding-top: clamp(42px, 4.5vw, 68px) !important;
    padding-bottom: clamp(42px, 4.5vw, 68px) !important;
}

.grs-home-hero {
    display: grid;
    grid-template-areas: "trust main actions";
    grid-template-columns: minmax(220px, 270px) minmax(480px, 1fr) minmax(260px, 310px);
    gap: clamp(24px, 3vw, 52px);
    align-items: center;
    padding: clamp(42px, 4.5vw, 68px) 0;
}

.grs-home-hero .content {
    grid-area: main;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.grs-home-hero__trust {
    grid-area: trust;
    display: grid;
    gap: 12px;
}

.grs-home-hero__trust-item {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 14px;
    align-items: center;
    min-width: 0;
    padding: 15px;
    color: var(--grs-ink);
    background: var(--grs-light-blue);
    border: 1px solid #bfd5e7;
    border-radius: 4px;
    box-shadow: 0 7px 20px rgba(21, 59, 107, .06);
    text-decoration: none;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.grs-home-hero__trust-item:hover {
    border-color: var(--grs-blue);
    box-shadow: 0 10px 25px rgba(21, 59, 107, .11);
    transform: translateY(-2px);
}

.grs-home-hero__trust-item strong {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    color: var(--grs-white);
    background: var(--grs-navy);
    border-top: 4px solid var(--grs-red);
    border-radius: 4px;
    font: 700 14px/1 Montserrat, Arial, sans-serif;
}

.grs-home-hero__trust-item span {
    min-width: 0;
    color: var(--grs-navy);
    font: 600 12px/1.45 Montserrat, Arial, sans-serif;
}

.grs-home-hero__actions {
    grid-area: actions;
    overflow: hidden;
    background: var(--grs-light-blue);
    border: 1px solid #bfd5e7;
    border-top: 5px solid var(--grs-red);
    border-radius: 4px;
    box-shadow: 0 10px 28px rgba(21, 59, 107, .09);
}

.grs-home-hero__actions-title {
    display: block;
    padding: 18px 20px 13px;
    color: var(--grs-navy);
    font: 700 15px/1.3 Montserrat, Arial, sans-serif;
}

.grs-home-hero__actions a {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 15px;
    align-items: center;
    padding: 15px 20px;
    color: var(--grs-ink);
    background: rgba(255, 255, 255, .38);
    border-top: 1px solid #bfd5e7;
    font: 600 12px/1.45 Montserrat, Arial, sans-serif;
    text-decoration: none;
    transition: color .2s ease, background .2s ease;
}

.grs-home-hero__actions a:nth-of-type(even) {
    background: var(--grs-light-blue);
}

.grs-home-hero__actions a,
.grs-home-hero__actions a:nth-of-type(even) {
    background: var(--grs-light-blue);
}

.grs-home-hero__actions a:hover,
.grs-home-hero__actions a:active,
.grs-home-hero__actions a:focus-visible {
    color: var(--grs-navy);
    background: var(--grs-white) !important;
}

.grs-home-hero__actions a:hover {
    color: var(--grs-navy);
    background: var(--grs-light-blue);
}

.grs-home-hero__actions a b {
    color: var(--grs-blue);
    font-size: 18px;
}

.v-main-banner .title {
    color: var(--grs-navy) !important;
    font-family: Montserrat, Arial, sans-serif !important;
    font-weight: 600 !important;
    line-height: 1.22 !important;
}

.v-main-banner .title span {
    color: var(--grs-blue) !important;
    font-family: Montserrat, Arial, sans-serif;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.v-main-banner .text {
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
    color: var(--grs-muted) !important;
    line-height: 1.7;
}

.v-main-banner .bold {
    color: var(--grs-blue) !important;
}

.v-main-banner .phone {
    color: var(--grs-navy) !important;
    font-family: Montserrat, Arial, sans-serif !important;
}

/* Кнопки: фирменный красный из логотипа. */
.v-main-banner .v-btn,
.v-free-consultation-block .v-btn,
.v-call-agent .v-btn:not(.small),
.v-price-block .v-btn,
.v-consultation-block .v-btn {
    color: var(--grs-white) !important;
    background: var(--grs-blue) !important;
    border-color: var(--grs-blue) !important;
    border-radius: 4px !important;
    box-shadow: 0 8px 20px rgba(39, 109, 168, .16);
    font-family: Montserrat, Arial, sans-serif !important;
    font-weight: 600 !important;
}

.v-main-banner .content > .v-btn {
    display: flex !important;
    width: min(100%, 340px) !important;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 14px 24px !important;
    text-align: center !important;
}

.v-main-banner .v-btn:hover,
.v-free-consultation-block .v-btn:hover,
.v-call-agent .v-btn:not(.small):hover,
.v-price-block .v-btn:hover {
    background: var(--grs-navy) !important;
    border-color: var(--grs-navy) !important;
}

/* Темные блоки остаются на своих местах, меняется только цвет. */
.v-menu-block,
.v-consultation-block {
    background: var(--grs-navy) !important;
}

.v-menu-block .swiper-slide {
    color: var(--grs-white) !important;
    background: rgba(255, 255, 255, .07) !important;
    border-color: rgba(255, 255, 255, .22) !important;
}

.v-menu-block .swiper-button-next,
.v-menu-block .swiper-button-prev {
    background: var(--grs-blue) !important;
}

.v-menu-block .swiper-button-next::after,
.v-menu-block .swiper-button-prev::after {
    color: var(--grs-white) !important;
}

.v-menu-block .v-btn,
.v-menu-block .v-btn.beige {
    color: var(--grs-white) !important;
    background: var(--grs-blue) !important;
    border-color: var(--grs-blue) !important;
    border-radius: 4px !important;
    box-shadow: 0 8px 20px rgba(39, 109, 168, .16);
}

.v-menu-block .v-btn:hover,
.v-menu-block .v-btn:active {
    background: var(--grs-navy) !important;
    border-color: var(--grs-navy) !important;
}

/* Светлые информационные блоки. */
.v-free-consultation-block,
.v-call-agent {
    background: var(--grs-light-blue) !important;
    border-top: 1px solid var(--grs-line);
    border-bottom: 1px solid var(--grs-line);
}

.v-free-consultation-block .title,
.v-call-agent .title,
.v-price-block .title,
.v-price-block .sub {
    color: var(--grs-navy) !important;
}

.v-free-consultation-block .phone,
.v-call-agent .phone {
    color: var(--grs-blue) !important;
}

.v-free-consultation-block > img.bg {
    opacity: .08;
    filter: grayscale(1) sepia(.15) hue-rotate(165deg);
}

.v-free-consultation-block {
    padding-top: clamp(30px, 3vw, 46px) !important;
    padding-bottom: clamp(30px, 3vw, 46px) !important;
}

.v-free-consultation-block .title,
.v-free-consultation-block p,
.v-free-consultation-block .phone {
    margin-bottom: 14px !important;
}

.v-free-consultation-block .v-btn {
    min-height: 52px;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
}

/* Карточки и цены — те же элементы, новая отделка. */
.v-price-block .item {
    background: var(--grs-white) !important;
    border: 1px solid var(--grs-line) !important;
    border-radius: 4px !important;
    box-shadow: 0 8px 22px rgba(21, 59, 107, .07);
}

.v-price-block .item.beige,
.bg-beige .v-price-block .item.beige {
    color: var(--grs-white) !important;
    background: var(--grs-navy) !important;
    border-color: var(--grs-navy) !important;
}

.v-price-block .item.beige * {
    color: var(--grs-white) !important;
}

.v-call-agent .v-btn.small {
    color: var(--grs-navy) !important;
    background: var(--grs-light-blue) !important;
    border: 1px solid #bfd5e7 !important;
    border-radius: 4px !important;
    box-shadow: 0 7px 20px rgba(21, 59, 107, .07);
}

.v-call-agent .v-btn.small:hover,
.v-call-agent .v-btn.small:active,
.v-call-agent .v-btn.small:focus-visible {
    color: var(--grs-navy) !important;
    background: var(--grs-white) !important;
}

.v-call-agent .v-btn.small .arr rect {
    fill: var(--grs-navy);
}

.v-consultation-block {
    border-top: 5px solid var(--grs-red);
}

.v-consultation-block .begie-color,
.v-consultation-block p {
    color: var(--grs-white) !important;
}

/* Слайдер ритуальных услуг: сохраняются изображения, названия и фильтры. */
.v-services-slider-wrapper {
    background: var(--grs-white);
}

.v-services-slider-wrapper .title {
    color: var(--grs-navy) !important;
}

.v-services-slider-wrapper .v-slider-nav .item {
    margin-right: 8px;
    padding: 12px 18px;
    color: var(--grs-navy);
    background: var(--grs-light-blue);
    border: 1px solid #bfd5e7;
    border-radius: 4px;
    box-shadow: 0 5px 15px rgba(39, 109, 168, .07);
}

.v-services-slider-wrapper .v-slider-nav .item:hover,
.v-services-slider-wrapper .v-slider-nav .item.active {
    color: var(--grs-blue) !important;
    background: var(--grs-white);
}

.v-services-slider-wrapper .v-slider-nav .item::after {
    background: var(--grs-blue) !important;
}

.v-services-slider .swiper-slide {
    overflow: hidden;
    border-radius: 4px;
}

.v-services-slider .item {
    border-radius: 4px !important;
}

.v-services-slider .item::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        to top,
        rgba(10, 35, 62, .84),
        rgba(10, 35, 62, .08) 60%
    );
}

.v-services-slider .item .name,
.v-services-slider .item .v-btn {
    position: relative;
    z-index: 2;
}

.v-services-slider .item .name {
    color: var(--grs-white) !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .5) !important;
}

.v-services-slider .item .v-btn.beige {
    color: var(--grs-white) !important;
    background: var(--grs-blue) !important;
    border-color: var(--grs-blue) !important;
    border-radius: 4px !important;
}

.v-services-slider .swiper-button-next,
.v-services-slider .swiper-button-prev {
    background: var(--grs-white) !important;
    border: 1px solid var(--grs-line);
    border-radius: 4px !important;
    box-shadow: 0 6px 18px rgba(21, 59, 107, .14);
}

.v-services-slider .swiper-button-next::after,
.v-services-slider .swiper-button-prev::after {
    color: var(--grs-navy) !important;
}

/* Видеоблог остается тем же блоком и тем же слайдером. */
.v-services-slider-video-wrapper {
    background: var(--grs-navy) !important;
    border-top: 5px solid var(--grs-red);
}

.v-services-slider-video-wrapper .title,
.v-services-slider-video-wrapper .begie-color {
    color: var(--grs-white) !important;
}

.v-services-slider-video-wrapper .v-btn.beige {
    color: var(--grs-white) !important;
    background: var(--grs-blue) !important;
    border-color: var(--grs-blue) !important;
    border-radius: 4px !important;
}

.v-services-slider-video-wrapper .swiper-button-next,
.v-services-slider-video-wrapper .swiper-button-prev {
    background: var(--grs-white) !important;
}

/* Предупреждения и справочные вставки. */
.v-consultation-block .info,
.v-price-block .info {
    background: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 4px !important;
}

.v-price-block .info {
    color: var(--grs-ink);
    background: var(--grs-light-blue) !important;
    border-color: var(--grs-line) !important;
}

.v-price-block .info .text,
.v-price-block .info a {
    color: var(--grs-ink) !important;
}

.v-price-block input[type="checkbox"] {
    accent-color: var(--grs-blue);
}

/* Контактный блок: исходные адрес, телефон, почта, карта и логотип. */
.v-contacts-with-map {
    background: var(--grs-light-blue) !important;
    border-top: 1px solid var(--grs-line);
}

.v-contacts-with-map .contacts {
    color: var(--grs-ink);
}

.v-contacts-with-map .title,
.v-contacts-with-map .name {
    color: var(--grs-navy) !important;
}

.v-contacts-with-map .address,
.v-contacts-with-map .phone,
.v-contacts-with-map .email {
    color: var(--grs-muted);
}

.v-contacts-with-map .phone a,
.v-contacts-with-map .email a {
    color: var(--grs-navy) !important;
}

.v-contacts-with-map .v-map {
    overflow: hidden;
    border: 1px solid var(--grs-line);
    border-radius: 4px !important;
    box-shadow: 0 8px 24px rgba(21, 59, 107, .08);
}

.v-contacts-with-map .v-btn.black {
    color: var(--grs-white) !important;
    background: var(--grs-blue) !important;
    border-color: var(--grs-blue) !important;
    border-radius: 4px !important;
}

/* Формы и модальные окна, которые вызываются с главной. */
.v-form-modal,
.vi-form {
    color: var(--grs-ink);
    background: var(--grs-white) !important;
    border-radius: 4px !important;
}

.v-form-modal input,
.v-form-modal textarea,
.v-form-modal select,
.vi-form input,
.vi-form textarea,
.vi-form select {
    border-color: var(--grs-line) !important;
    border-radius: 4px !important;
}

.v-form-modal input:focus,
.v-form-modal textarea:focus,
.vi-form input:focus,
.vi-form textarea:focus {
    border-color: var(--grs-blue) !important;
    outline-color: var(--grs-blue);
}

.v-close-modal-btn::before {
    color: var(--grs-navy) !important;
}

/* Мобильная панель и меню не перестраиваются. */
.v-mobile-menu-panel-wrapper,
.v-mobile-menu-wrapper {
    background: var(--grs-navy) !important;
}

.v-mobile-menu-panel .item.card-item .cnt,
.v-card-link .cnt {
    color: var(--grs-white) !important;
    background: var(--grs-blue) !important;
}

.v-mobile-menu .menu-item.lvl-1 {
    background: var(--grs-light-blue) !important;
}

.v-mobile-menu .menu-item.lvl-2 {
    background: var(--grs-pale-blue) !important;
}

.swiper:not(.swiper-initialized)::after {
    border-color: var(--grs-navy) !important;
    border-bottom-color: var(--grs-red) !important;
}

/* Подвал не перестраивается: только фирменный синий фон и красная линия. */
.v-footer,
footer {
    background-color: var(--grs-navy) !important;
}

.v-footer {
    border-top: 5px solid var(--grs-red) !important;
}

.v-footer,
.v-footer a,
.v-footer .white-color,
.v-footer .begie-color,
.v-footer .logo .name {
    color: var(--grs-white) !important;
}

.v-footer .copy,
.v-footer .dev {
    color: rgba(255, 255, 255, .68) !important;
}

/* Общая унификация прежних бежевых поверхностей только на главной. */
.bg-beige {
    background-color: var(--grs-light-blue) !important;
}

.bg-black {
    background-color: var(--grs-navy) !important;
}

/* Единая типографика главной: Montserrat на компьютере и мобильных устройствах. */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main p,
main a,
main button,
main span,
main li,
main label,
main input,
main textarea,
main select,
main [class*="merriweather"],
.v-header [class*="merriweather"],
.v-footer [class*="merriweather"] {
    font-family: "Montserrat", Arial, sans-serif !important;
}

/* По умолчанию все кнопки главной синие. */
main .v-btn:not(.js-call-agent-btn),
.v-footer .v-btn:not(.js-call-agent-btn),
.v-form-modal .v-btn:not(.js-call-agent-btn) {
    color: #fff !important;
    background: var(--grs-blue) !important;
    border-color: var(--grs-blue) !important;
    box-shadow: 0 8px 18px rgba(39, 109, 168, .16) !important;
}

main .v-btn:not(.js-call-agent-btn):hover,
.v-footer .v-btn:not(.js-call-agent-btn):hover,
.v-form-modal .v-btn:not(.js-call-agent-btn):hover {
    color: #fff !important;
    background: var(--grs-navy) !important;
    border-color: var(--grs-navy) !important;
}

main .js-call-agent-btn,
.v-footer .js-call-agent-btn,
.v-form-modal .js-call-agent-btn {
    color: #fff !important;
    background: var(--grs-blue) !important;
    border-color: var(--grs-blue) !important;
}

/* Два согласованных красных исключения на главной. */
main .v-free-consultation-block .js-consultation-btn,
html body main .v-call-agent .v-container .js-call-agent-btn {
    color: #fff !important;
    background: var(--grs-red) !important;
    border-color: var(--grs-red) !important;
}

main .swiper-button-next,
main .swiper-button-prev {
    color: #fff !important;
    background-color: var(--grs-blue) !important;
}

main .bg-black .begie-color,
main .bg-black .beige-color,
main .bg-black [class*="begie"],
main .bg-black [class*="beige"],
main .bg-blue .begie-color,
main .bg-blue .beige-color {
    color: #fff !important;
}

@media (max-width: 768px) {
    main h1,
    main h2,
    main h3,
    main p,
    main a,
    main button,
    main span,
    main li {
        font-family: "Montserrat", Arial, sans-serif !important;
    }
}

.black-color {
    color: var(--grs-navy) !important;
}

@media (max-width: 767px) {
    .v-main-banner {
        height: auto !important;
        min-height: 0 !important;
    }

    .v-main-banner .content {
        width: 100% !important;
        padding: 0 !important;
    }

    .grs-home-hero {
        grid-template-areas:
            "main"
            "trust"
            "actions";
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 30px 0 34px;
    }

    .grs-home-hero .content {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .grs-home-hero__trust {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .v-main-banner .title {
        margin-bottom: 14px !important;
        font-size: clamp(24px, 8vw, 30px) !important;
        line-height: 1.18 !important;
    }

    .v-main-banner .title span {
        margin-bottom: 7px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
        letter-spacing: .035em;
    }

    .v-main-banner .text {
        margin-bottom: 17px !important;
        font-size: 11px !important;
        line-height: 1.58 !important;
    }

    .v-main-banner .bold {
        margin-bottom: 5px !important;
        font-size: 11px !important;
    }

    .v-main-banner .phone {
        margin-bottom: 20px !important;
        font-size: 18px !important;
        line-height: 1.25 !important;
    }

    .v-main-banner .v-btn {
        display: flex !important;
        width: min(100%, 340px) !important;
        min-height: 54px;
        align-items: center;
        justify-content: center;
        margin-right: auto !important;
        margin-left: auto !important;
        padding: 14px 20px !important;
        text-align: center !important;
    }

    .grs-home-hero__trust-item {
        grid-template-columns: 48px 1fr;
        gap: 12px;
        padding: 12px;
    }

    .grs-home-hero__trust-item strong {
        width: 48px;
        height: 48px;
        font-size: 11px;
    }

    .grs-home-hero__trust-item span,
    .grs-home-hero__actions a {
        font-size: 11px;
    }

    .grs-home-hero__actions-title {
        padding: 17px 17px 13px;
        font-size: 14px;
    }

    .grs-home-hero__actions a {
        padding: 14px 17px;
    }

    .v-services-slider .item::after {
        background: linear-gradient(
            to top,
            rgba(10, 35, 62, .88),
            rgba(10, 35, 62, .04) 68%
        );
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .grs-home-hero {
        grid-template-areas:
            "main main"
            "trust actions";
        grid-template-columns: 1fr 1fr;
    }

    .grs-home-hero__trust,
    .grs-home-hero__actions {
        align-self: stretch;
    }
}

@media (max-width: 767px) {
    .grs-approved-section-nav {
        display: none;
    }
}

/* End */


/* Start:/local/templates/2026_master/assets/css/site-gov-unified-1.css?178550881323452*/
:root {
    --grs-blue: #2d74ad;
    --grs-dark-blue: #194574;
    --grs-light-blue: #dcecf7;
    --grs-info-card-blue: #cfe4f3;
    --grs-red: #f41f2a;
    --grs-white: #ffffff;
    --grs-border: #b8d4e8;
    --black-color: #194574;
    --beige-color: #dcecf7;
    --light-color: #ffffff;
}

html,
body,
button,
input,
textarea,
select,
.montserrat,
.merriweather-light,
.merriweather-regular,
.merriweather-bold {
    font-family: "Montserrat", Arial, sans-serif !important;
}

html body {
    color: var(--grs-dark-blue);
    background: var(--grs-white);
}

html body main,
html body .v-page-content {
    background-color: var(--grs-white);
}

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .v-page-title {
    color: var(--grs-dark-blue);
}

html body .bg-beige,
html body .bg-light,
html body [class*="bg-beige"] {
    background-color: var(--grs-light-blue) !important;
    color: var(--grs-dark-blue) !important;
}

html body .bg-black {
    background-color: var(--grs-dark-blue) !important;
}

html body .beige-color,
html body .begie-color {
    color: var(--grs-dark-blue) !important;
}

/* Единая шапка */
html body .v-header,
html body header.v-header,
html body .v-header.bg-black {
    background: var(--grs-dark-blue) !important;
    border-bottom: 4px solid var(--grs-red) !important;
    color: var(--grs-white) !important;
}

html body .v-header *,
html body .v-header a,
html body .v-header .beige-color,
html body .v-header .begie-color {
    color: var(--grs-white) !important;
}

html body .v-header svg path {
    stroke: var(--grs-white);
}

html body .v-header .v-card-link .v-cnt,
html body .v-header .v-card-link [class*="cnt"] {
    background: var(--grs-blue) !important;
    color: var(--grs-white) !important;
}

/* Раскрытое меню и быстрые ссылки */
html body .v-header .menu-wrapper,
html body .v-header .menu-wrapper .menu {
    background: var(--grs-white) !important;
}

html body .v-header .menu-wrapper .menu > *,
html body .v-header .menu-wrapper .menu ul,
html body .v-header .menu-wrapper .menu li,
html body .v-header .menu-wrapper .lvl,
html body .v-header .menu-wrapper .lvl-1,
html body .v-header .menu-wrapper .lvl-2,
html body .v-header .menu-wrapper .lvl-3,
html body .v-header .menu-wrapper .sub-menu {
    background: var(--grs-white) !important;
    background-color: var(--grs-white) !important;
}

html body .v-header .menu-wrapper .menu a {
    color: var(--grs-dark-blue) !important;
}

html body .v-header .menu-wrapper .menu a:hover,
html body .v-header .menu-wrapper .menu a:focus-visible,
html body .v-header .menu-wrapper .menu a:active {
    background: var(--grs-white) !important;
    color: var(--grs-dark-blue) !important;
}

html body .v-header .menu-wrapper .links {
    background: var(--grs-dark-blue) !important;
}

html body .v-header .menu-wrapper .links .v-btn,
html body .v-header .menu-wrapper .links .v-btn.beige {
    background: var(--grs-light-blue) !important;
    border: 1px solid var(--grs-border) !important;
    color: var(--grs-dark-blue) !important;
}

html body .v-header .menu-wrapper .links .v-btn:hover,
html body .v-header .menu-wrapper .links .v-btn:focus-visible,
html body .v-header .menu-wrapper .links .v-btn:active {
    background: var(--grs-white) !important;
    border-color: var(--grs-blue) !important;
    color: var(--grs-dark-blue) !important;
}

/* Обязательное меню непосредственно под шапкой */
html body .grs-approved-section-nav {
    display: block !important;
    width: 100%;
    background: var(--grs-light-blue) !important;
    border-bottom: 1px solid var(--grs-border);
}

html body .grs-approved-section-nav .v-container {
    display: flex !important;
    align-items: stretch;
    justify-content: center;
    max-width: 1520px;
    padding-top: 0;
    padding-bottom: 0;
}

html body .grs-approved-section-nav a {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    min-height: 68px;
    padding: 14px 20px;
    color: var(--grs-dark-blue) !important;
    background: var(--grs-light-blue) !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

html body .grs-approved-section-nav a:hover,
html body .grs-approved-section-nav a:focus-visible {
    color: var(--grs-dark-blue) !important;
    background: var(--grs-white) !important;
}

html body .grs-approved-section-nav a.is-active,
html body .grs-approved-section-nav a[aria-current="page"] {
    color: var(--grs-dark-blue) !important;
    background: var(--grs-white) !important;
}

html body .grs-approved-section-nav a.is-active::after,
html body .grs-approved-section-nav a[aria-current="page"]::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    background: var(--grs-red);
    content: "";
}

/* Нейтральные кнопки: красный используется только в согласованных CTA */
html body .v-btn,
html body button.v-btn,
html body a.v-btn,
html body input[type="button"],
html body input[type="submit"] {
    background: var(--grs-blue) !important;
    border-color: var(--grs-blue) !important;
    color: var(--grs-white) !important;
    box-shadow: none;
}

html body .v-btn:hover,
html body .v-btn:focus-visible,
html body .v-btn:active,
html body button.v-btn:hover,
html body button.v-btn:focus-visible,
html body button.v-btn:active,
html body a.v-btn:hover,
html body a.v-btn:focus-visible,
html body a.v-btn:active {
    background: var(--grs-dark-blue) !important;
    border-color: var(--grs-dark-blue) !important;
    color: var(--grs-white) !important;
}

/* Согласованный главный CTA вызова агента */
html body .js-call-agent-btn,
html body .grs-call-agent-cta,
html body button.js-call-agent-btn,
html body button.grs-call-agent-cta,
html body a.js-call-agent-btn,
html body a.grs-call-agent-cta,
html body .v-btn.js-call-agent-btn,
html body .v-btn.grs-call-agent-cta,
html body #call-agent-form button[type="submit"],
html body .js-call-agent-btn:hover,
html body .js-call-agent-btn:focus,
html body .js-call-agent-btn:focus-visible,
html body .js-call-agent-btn:active,
html body .grs-call-agent-cta:hover,
html body .grs-call-agent-cta:focus,
html body .grs-call-agent-cta:focus-visible,
html body .grs-call-agent-cta:active,
html body #call-agent-form button[type="submit"]:hover,
html body #call-agent-form button[type="submit"]:focus,
html body #call-agent-form button[type="submit"]:active {
    background: var(--grs-red) !important;
    border-color: var(--grs-red) !important;
    color: var(--grs-white) !important;
}

/* Согласованная кнопка заказа звонка на первом экране главной страницы */
html body .grs-home-order-call,
html body .grs-home-order-call:hover,
html body .grs-home-order-call:focus,
html body .grs-home-order-call:focus-visible,
html body .grs-home-order-call:active {
    background: var(--grs-red) !important;
    border-color: var(--grs-red) !important;
    color: var(--grs-white) !important;
    filter: none !important;
    transform: none !important;
}

/* Информационные карточки и калькуляторы */
html body .v-calc_info-block,
html body .v-calc-info-block {
    background: var(--grs-light-blue) !important;
    border: 1px solid var(--grs-border) !important;
    color: var(--grs-dark-blue) !important;
}

/* Тёмная плашка калькулятора: белый текст на navy */
html body .v-calc_info-block .info.bg-black,
html body .v-calc_info-block .bg-black.info,
html body .v-calc-info-block .info.bg-black,
html body .v-calc-info-block .bg-black.info,
html body .v-price-block .info.bg-black {
    background: var(--grs-dark-blue) !important;
    color: var(--grs-white) !important;
}

html body .v-calc_info-block .info.bg-black,
html body .v-calc_info-block .info.bg-black p,
html body .v-calc_info-block .info.bg-black .text,
html body .v-calc_info-block .info.bg-black .begie-color,
html body .v-calc_info-block .info.bg-black .beige-color,
html body .v-calc_info-block .info.bg-black .links,
html body .v-calc-info-block .info.bg-black,
html body .v-calc-info-block .info.bg-black p,
html body .v-calc-info-block .info.bg-black .text,
html body .v-calc-info-block .info.bg-black .begie-color,
html body .v-price-block .info.bg-black,
html body .v-price-block .info.bg-black p,
html body .v-price-block .info.bg-black .text,
html body .v-price-block .info.bg-black .begie-color {
    color: var(--grs-white) !important;
}

html body .v-calc_info-block .info.bg-black .v-btn,
html body .v-calc-info-block .info.bg-black .v-btn,
html body .v-price-block .info.bg-black .v-btn {
    color: var(--grs-white) !important;
    background: var(--grs-blue) !important;
    border-color: var(--grs-blue) !important;
}

html body .v-calc_info-block .info.bg-black .icon path,
html body .v-calc-info-block .info.bg-black .icon path,
html body .v-price-block .info.bg-black .icon path {
    fill: var(--grs-white) !important;
}

html body .v-icon-list .item,
html body .v-icon-list1 .item,
html body .v-page-content .v-icon-list .item,
html body .v-page-content .v-icon-list1 .item,
html body .v-icon-list a.item,
html body .v-icon-list1 a.item {
    background: var(--grs-info-card-blue) !important;
    border-color: var(--grs-border) !important;
    color: var(--grs-dark-blue) !important;
}

html body .v-icon-list .item *,
html body .v-icon-list1 .item *,
html body .v-page-content .v-icon-list .item *,
html body .v-page-content .v-icon-list1 .item * {
    color: var(--grs-dark-blue) !important;
}

html body .v-icon-list .item:hover,
html body .v-icon-list .item:focus-visible,
html body .v-icon-list .item:active,
html body .v-icon-list1 .item:hover,
html body .v-icon-list1 .item:focus-visible,
html body .v-icon-list1 .item:active,
html body .v-icon-list a.item:hover,
html body .v-icon-list a.item:focus-visible,
html body .v-icon-list a.item:active,
html body .v-icon-list1 a.item:hover,
html body .v-icon-list1 a.item:focus-visible,
html body .v-icon-list1 a.item:active,
html body .v-page-content .v-icon-list .item:hover,
html body .v-page-content .v-icon-list .item:focus,
html body .v-page-content .v-icon-list .item:focus-visible,
html body .v-page-content .v-icon-list .item:active,
html body .v-page-content .v-icon-list1 .item:hover,
html body .v-page-content .v-icon-list1 .item:focus,
html body .v-page-content .v-icon-list1 .item:focus-visible,
html body .v-page-content .v-icon-list1 .item:active {
    background: var(--grs-info-card-blue) !important;
    border-color: var(--grs-border) !important;
    color: var(--grs-dark-blue) !important;
}

html body .v-services-section-list .item,
html body .v-services-section-list .item:hover,
html body .v-services-section-list .item:focus-within,
html body .v-services-section-list .item:active {
    background: #f7fbfe !important;
    border-color: var(--grs-border) !important;
    color: var(--grs-dark-blue) !important;
    transform: none !important;
}

html body .v-services-section-list .item *,
html body .v-services-section-list .item:hover *,
html body .v-services-section-list .item:focus-within * {
    color: var(--grs-dark-blue) !important;
}

html body .v-employees-slider-wrapper .info,
html body .v-contacts-with-map,
html body .v-contacts-with-map .info,
html body .v-page-content table th,
html body .v-page-content table td {
    background-color: var(--grs-light-blue) !important;
    border-color: var(--grs-border) !important;
    color: var(--grs-dark-blue) !important;
}

html body .v-pagination a,
html body .v-pagination span,
html body .pagination a,
html body .pagination span {
    border-color: var(--grs-border) !important;
    color: var(--grs-dark-blue) !important;
}

html body .v-pagination .active,
html body .pagination .active {
    background: var(--grs-blue) !important;
    border-color: var(--grs-blue) !important;
    color: var(--grs-white) !important;
}

/* Стоимость: белые карточки; акцент только у .beige/.blue/.black.
   nth-child(even) нельзя — в .grid между item лежат modal-узлы. Hover отключён. */
html body .v-price-block .item,
html body .v-price-block .grid .item {
    background: var(--grs-white) !important;
    border-color: var(--grs-border) !important;
    color: var(--grs-dark-blue) !important;
}

html body .v-price-block .item.blue,
html body .v-price-block .item.black,
html body .v-price-block .item.beige,
html body .v-price-block .grid .item.blue,
html body .v-price-block .grid .item.black,
html body .v-price-block .grid .item.beige {
    background: var(--grs-dark-blue) !important;
    border-color: var(--grs-dark-blue) !important;
    color: var(--grs-white) !important;
}

html body .v-price-block .item.blue *:not(.v-btn),
html body .v-price-block .item.black *:not(.v-btn),
html body .v-price-block .item.beige *:not(.v-btn),
html body .v-price-block .grid .item.blue *:not(.v-btn),
html body .v-price-block .grid .item.black *:not(.v-btn),
html body .v-price-block .grid .item.beige *:not(.v-btn) {
    color: var(--grs-white) !important;
}

html body .v-price-block .item:hover,
html body .v-price-block .item:focus-within,
html body .v-price-block .grid .item:hover,
html body .v-price-block .grid .item:focus-within {
    background: var(--grs-white) !important;
    border-color: var(--grs-border) !important;
    color: var(--grs-dark-blue) !important;
}

html body .v-price-block .item.blue:hover,
html body .v-price-block .item.blue:focus-within,
html body .v-price-block .item.black:hover,
html body .v-price-block .item.black:focus-within,
html body .v-price-block .item.beige:hover,
html body .v-price-block .item.beige:focus-within,
html body .v-price-block .grid .item.blue:hover,
html body .v-price-block .grid .item.blue:focus-within,
html body .v-price-block .grid .item.black:hover,
html body .v-price-block .grid .item.black:focus-within,
html body .v-price-block .grid .item.beige:hover,
html body .v-price-block .grid .item.beige:focus-within {
    background: var(--grs-dark-blue) !important;
    border-color: var(--grs-dark-blue) !important;
    color: var(--grs-white) !important;
}

/* Тематический блок «Что делать» */
html body .v-what-block,
html body .v-what-block.bg-black {
    background-color: var(--grs-dark-blue) !important;
    color: var(--grs-white) !important;
}

html body .v-what-block h2,
html body .v-what-block h3,
html body .v-what-block h4,
html body .v-what-block p,
html body .v-what-block li,
html body .v-page-content .v-what-block h2,
html body .v-page-content .v-what-block h3,
html body .v-page-content .v-what-block h4,
html body .v-page-content .v-what-block p,
html body .v-page-content .v-what-block .v-container h2,
html body .v-page-content .v-what-block .v-container h3,
html body .v-page-content .what-to-do-block,
html body .v-page-content .what-to-do-block h2,
html body .v-page-content .what-to-do-block h3,
html body .v-page-content .what-to-do-block p,
html body .v-page-content .what-to-do-block * {
    color: var(--grs-white) !important;
}

html body .v-what-block .v-btn {
    background: var(--grs-blue) !important;
    border-color: var(--grs-blue) !important;
    color: var(--grs-white) !important;
}

html body .v-what-block .v-btn:hover,
html body .v-what-block .v-btn:focus-visible,
html body .v-what-block .v-btn:active {
    background: var(--grs-dark-blue) !important;
    border-color: var(--grs-white) !important;
}

/* Единый фирменный блок перед подвалом */
html body .v-contact-form-wrapper,
html body .v-contact-form-wrapper.bg-beige,
html body .v-contact-form-wrapper.bg-black,
html body .contact-form-wrapper,
html body .contact-form-wrapper.bg-beige,
html body .contact-form-wrapper.bg-black {
    background: var(--grs-light-blue) !important;
    border-top: 4px solid var(--grs-red) !important;
    border-bottom: 4px solid var(--grs-red) !important;
    color: var(--grs-dark-blue) !important;
}

html body .v-contact-form-wrapper .title,
html body .v-contact-form-wrapper .description,
html body .v-contact-form-wrapper label,
html body .v-contact-form-wrapper .v-agree-label,
html body .v-contact-form-wrapper .v-agree-label *,
html body .contact-form-wrapper h2,
html body .contact-form-wrapper h3,
html body .contact-form-wrapper p,
html body .contact-form-wrapper label,
html body .contact-form-wrapper a {
    color: var(--grs-dark-blue) !important;
}

/* 2 колонки как на /stoimost/: picture слева, form справа */
html body .v-contact-form-wrapper .v-contact-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-gap: 32px;
    gap: 32px;
    width: 100%;
    max-width: none;
    margin: 0;
}

html body .v-contact-form-wrapper .v-contact-form .inputs {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-gap: 24px;
    gap: 24px;
}

html body .v-contact-form-wrapper .v-contact-form picture {
    display: block;
    min-width: 0;
    min-height: 260px;
    overflow: hidden;
    background: var(--grs-dark-blue) url("/local/templates/2026_master/assets/css/../img/contact-form-city-grs-v2.png?v=60") center / cover no-repeat !important;
    border-radius: 8px;
}

html body .v-contact-form-wrapper .v-contact-form picture .img {
    width: 100%;
    height: auto;
    opacity: 0 !important;
}

html body .v-contact-form-wrapper .inputs input,
html body .v-contact-form-wrapper textarea,
html body .contact-form-wrapper input,
html body .contact-form-wrapper textarea {
    background: var(--grs-white) !important;
    border: 1px solid var(--grs-border) !important;
    color: var(--grs-dark-blue) !important;
}

html body .v-contact-form-wrapper .inputs input::placeholder,
html body .v-contact-form-wrapper textarea::placeholder,
html body .contact-form-wrapper input::placeholder,
html body .contact-form-wrapper textarea::placeholder {
    color: #5e7a94 !important;
    opacity: 1;
}

html body .v-contact-form-wrapper .v-agree-label,
html body .v-contact-form-wrapper .v-agree-label span,
html body .v-contact-form-wrapper .v-agree-label a {
    color: #173858 !important;
    font-size: 13px;
    line-height: 1.45;
}

html body .v-contact-form-wrapper .title {
    margin-top: 0 !important;
}

html body .v-contact-form-wrapper form.vi-form button.v-btn[type="submit"],
html body .v-contact-form-wrapper form.vi-form input[type="submit"],
html body .v-contact-form form.vi-form button.v-btn[type="submit"],
html body .contact-form-wrapper button[type="submit"],
html body .contact-form-wrapper input[type="submit"] {
    background: var(--grs-red) !important;
    border-color: var(--grs-red) !important;
    color: var(--grs-white) !important;
    box-shadow: 0 10px 22px rgba(244, 31, 42, 0.2);
}

html body .v-contact-form-wrapper form.vi-form button.v-btn[type="submit"]:hover,
html body .v-contact-form-wrapper form.vi-form button.v-btn[type="submit"]:focus-visible,
html body .v-contact-form-wrapper form.vi-form button.v-btn[type="submit"]:active,
html body .v-contact-form form.vi-form button.v-btn[type="submit"]:hover,
html body .contact-form-wrapper button[type="submit"]:hover,
html body .contact-form-wrapper button[type="submit"]:focus-visible {
    background: var(--grs-red) !important;
    border-color: var(--grs-red) !important;
    color: var(--grs-white) !important;
}

/* Каталог: multiply + фон внутри swiper (у .swiper-wrapper есть transform) */
html body.grs-route-catalog .catalog-section-item-wrapper img,
html body.grs-route-catalog .catalog-item-card img,
html body.grs-route-catalog .product-item-image-original,
html body.grs-route-catalog .product-item-image-alternative,
html body.grs-route-catalog .v-catalog-section .pic img,
html body.grs-route-catalog .v-catalog-element img,
html body .v-item-wrapper .product-item-image-wrapper img,
html body .v-item-wrapper .swiper-slide img,
html body .v-item-wrapper .product-item-image-original,
html body .v-item-wrapper .product-item-image-alternative {
    mix-blend-mode: multiply;
}

html body .v-item-wrapper .product-item-image-wrapper,
html body .v-item-wrapper .swiper,
html body .v-item-wrapper .swiper-wrapper,
html body .v-item-wrapper .swiper-slide,
html body .v-item-wrapper .product-item-image-slide,
html body .v-item-wrapper .v-img-wrapper {
    background: #f7fbfe !important;
}

html body .v-item-wrapper .product-item-image-slide {
    mix-blend-mode: normal !important;
}

html body .v-item-wrapper .v-img-wrapper {
    position: relative !important;
    isolation: isolate !important;
}

/* Фотографии агентов всегда выводятся полностью */
html body .v-agent-list img,
html body .v-agents-list img,
html body .agent-card img,
html body .v-employees .item .pic img,
html body .v-employees-slider .item .pic img,
html body .v-employees-slider .swiper-slide img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center top !important;
}

/* Единый подвал */
html body .v-footer,
html body footer,
html body footer.bg-black {
    background: var(--grs-dark-blue) !important;
    color: var(--grs-white) !important;
}

html body .v-footer *,
html body footer *,
html body .v-footer a,
html body footer a {
    color: var(--grs-white) !important;
}

@media (max-width: 1199px) {
    html body .grs-approved-section-nav .v-container {
        justify-content: flex-start;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    html body .grs-approved-section-nav a {
        flex: 0 0 auto;
        min-height: 58px;
        padding: 12px 18px;
        font-size: 14px;
    }
}

@media (max-width: 1024px) {
    html body .v-contact-form-wrapper .v-contact-form {
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: 640px;
        margin-left: auto;
        margin-right: auto;
    }

    html body .v-contact-form-wrapper .v-contact-form .inputs {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-gap: 0;
        gap: 0;
    }
}

@media (max-width: 767px) {
    html body .grs-approved-section-nav {
        display: none !important;
    }

    html body .grs-approved-section-nav .v-container {
        padding-right: 12px;
        padding-left: 12px;
    }

    html body .grs-approved-section-nav a {
        min-height: 52px;
        padding: 10px 14px;
        font-size: 11px;
    }

    html body .v-contact-form-wrapper {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }

    html body .v-contact-form-wrapper .v-contact-form {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
        width: 100%;
        max-width: none;
    }

    html body .v-contact-form-wrapper .v-contact-form picture {
        min-height: 180px;
    }

    html body .v-contact-form-wrapper .v-contact-form .inputs {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }
}

/* End */


/* Start:/local/templates/2026_master/components/bitrix/search.title/v_search_header/style.css?1783949770850*/
.v-header-search-form-wrapper {
    display: none;
    position: absolute;
    top: calc( 100% + 24px);
    right: 0;
    z-index: 99;

}
.v-header-search-form {
    display: flex;
    align-items: center;
    width: 576px;
    border: 1px solid var(--black-color);
    border-radius: 8px;
}
.v-header-search-form input {
    border: none;
    padding: 0 24px;
    color: var(--gray-color);
    margin: 0;
    display: flex;
    align-items: center;
    background: white;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    height: 48px;
    min-height: initial;
}

.v-header-search-form button {
    background: white;
    border: none;
    height: 48px;
    color: var(--black-color);
    margin: 0;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}
.title-search-result {
    display: none!important;
}
/* End */


/* Start:/local/templates/2026_master/components/bitrix/search.title/v_search_header_mobile/style.css?1783949770806*/
.v-search-header-mobile {
	width: 100%;
	display: flex;
	align-items: center;
	height: 48px;
}
.v-search-header-mobile svg {
	cursor: pointer;
}
.v-search-header-mobile input {
	background: none;
	border: none;
	margin: 0;
	padding: 0 16px;
	display: flex;
	align-items: center;
	color: white;
	font-size: 14px;
	font-family: "Merriweather", serif;
	font-weight: 400;
	font-style: normal;
}
.v-search-header-mobile button {
	background: none;
	border: none;
	outline: none;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}

.v-open-search-mobile-btn {
	width: 24px;
	height: 24px;
}

.v-header-search-input {
	position: absolute;
	top: 15px;
	right: 0;
	left: 0;
	width: 100%;
	z-index: 9;
	display: none;
	background: var(--black-color);
	padding-left: 8px;
	padding-right: 8px;
}


/* End */


/* Start:/local/templates/2026_master/components/bitrix/menu/v_catalog/style.css?17839497701001*/
.v-header .menu .item:hover {
    text-decoration: underline;
}
.v-header .menu .lvl-3 svg {
    display: none;

}
.v-header .menu-wrapper .sub-menu::-webkit-scrollbar {
    display: none;
}
.v-header {
    z-index: 999;
}
.v-menu-overlay {
    opacity: 0;
    transition: .3s ease-out;
}
.v-header .menu-wrapper .lvl {
    overflow: initial;
}
.v-header .menu-wrapper .lvl-3 .sub-menu{
    /*overflow: auto;*/
    padding-bottom: 50px;
}
.v-header .menu-wrapper .links {
    position: relative;
    z-index: 4;
}
.open.v-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    background-color: #27262B7F;
    backdrop-filter: blur(8px);
    z-index: 555;
    opacity: 1;
}
.v-header .menu-wrapper .item {
    line-height: 1.5;
}


@media (max-width: 1340px) {
    .v-header .menu-wrapper .links a {
        padding: 16px;
        font-size: 12px;
    }
    .v-header .menu-wrapper .links {
        width: 100%;
    }
}
/* End */


/* Start:/local/templates/2026_master/components/bitrix/menu/v_catalog_mobile/style.css?1785505123575*/
.lvl-3 .item .arr {
    display: none!important;
}
.v-mobile-menu .menu-item.lvl-1 .item {
    padding: 16px 0 0 0;
}
.v-mobile-menu-wrapper .menu-item a {
    font-size: 14px;
}

.v-mobile-menu .menu-item {
    transform: translateX(-100%);
    /*opacity: 1;*/
    /*z-index: -99999;*/
}
.v-mobile-menu .menu-item.active {
    transform: translateX(0);
    z-index: -999;
}

.v-mobile-menu .menu-item.lvl-2,
.v-mobile-menu .menu-item.lvl-3{
    background: var(--beige-color)
}

.v-mobile-menu-wrapper .links {
    z-index: 999999;
}
.v-mobile-menu {
    z-index: -999999;
}
/* End */
/* /local/templates/2026_master/assets/css/site-font-gov-5.css?17853457427979 */
/* /local/templates/2026_master/assets/css/home-gov-7.css?178550647523724 */
/* /local/templates/2026_master/assets/css/site-gov-unified-1.css?178550881323452 */
/* /local/templates/2026_master/components/bitrix/search.title/v_search_header/style.css?1783949770850 */
/* /local/templates/2026_master/components/bitrix/search.title/v_search_header_mobile/style.css?1783949770806 */
/* /local/templates/2026_master/components/bitrix/menu/v_catalog/style.css?17839497701001 */
/* /local/templates/2026_master/components/bitrix/menu/v_catalog_mobile/style.css?1785505123575 */
