@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@700&family=Roboto+Flex:opsz,wght@8..144,400..700&family=Unbounded:wght@400..700&display=swap');

:root {
    --vesta-font-heading: 'Unbounded', system-ui, sans-serif;
    --vesta-font-body: 'Roboto Flex', system-ui, sans-serif;

    --vesta-dark: #2a2e36;
    --vesta-text: #2d3235;
    --vesta-accent: #ffbc1a;
    --vesta-accent-hover: #ffaf1a;
    --vesta-accent-active: #e5aa17;
    --vesta-muted: #797979;

    font-optical-sizing: none;
}

/* Единый max-width контейнера */
#app .container {
    max-width: 1200px;
}

.ui-dialog {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    max-width: calc(100% - 20px);
    max-height: calc(100% - 20px);
}
img{
    max-width: 100%;
    height: auto;
}


html {
    overflow-x: clip;
}

#app {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    box-sizing: border-box;
}

#app > main#main {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}


#main .block-page-title-block {
    margin-bottom: 20px;
}


.wrapper_about {
    position: relative;
    height: 510px;
    overflow: hidden;
    background: url(../image/image_o_nas.png) center / cover no-repeat;
}

.wrapper_about > .container {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
    transform: translateY(-20px);
}

.wrapper_about .region,
.wrapper_about .container > [class*="region"] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    max-width: 670px;
    width: 100%;
}

.wrapper_about .view,
.wrapper_about .view-content,
.wrapper_about .views-row,
.wrapper_about .node__content,
.wrapper_about .layout,
.wrapper_about .block__content {
    display: contents;
}

.wrapper_about .field--type-image {
    display: none;
}


.wrapper_about .block__title,
.wrapper_about .field:not(.field--type-image):not(.field--name-field-zagolovok) {
    position: relative;
    z-index: 1;
    color: var(--vesta-dark);
}

.wrapper_about .text-formatted :is(h2, h3) {
    color: var(--vesta-dark);
}

.wrapper_about .field:not(.field--type-image):not(.field--name-field-ssylka) a:not(.about-company-more):not([href^="/about"]) {
    color: #d4a017;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.wrapper_about .field:not(.field--type-image):not(.field--name-field-ssylka) a:not(.about-company-more):not([href^="/about"]):hover,
.wrapper_about .field:not(.field--type-image):not(.field--name-field-ssylka) a:not(.about-company-more):not([href^="/about"]):focus-visible {
    color: #b8860b;
}


.wrapper_about .vesta-section-head {
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    justify-items: center;
}

.wrapper_about .vesta-section-head h3,
.wrapper_about .vesta-section-head h3.field--name-field-zagolovok {
    color: var(--vesta-muted);
    text-align: center;
}

.wrapper_about .vesta-section-head h2,
.wrapper_about .vesta-section-head h2.field--name-field-podzagolovok {
    color: var(--vesta-dark);
    text-align: center;
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}


.wrapper_about .vesta-section-head article {
    justify-items: center;
    text-align: center;
}

.wrapper_about .vesta-section-head article .field--name-field-zagolovok .field__item {
    color: var(--vesta-muted);
    text-align: center;
}

.wrapper_about .vesta-section-head article .field--name-field-podzagolovok .field__item {
    color: var(--vesta-dark);
    text-align: center;
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}


.wrapper_about .field--type-text-with-summary,
.wrapper_about .field--name-body {
    margin-top: -4px;
}

.wrapper_about .field--type-text-with-summary,
.wrapper_about .field--name-body,
.wrapper_about .text-formatted {
    font-family: var(--vesta-font-body);
    font-size: 17px;
    line-height: 1.5;
    color: var(--vesta-dark);
    text-align: center;
}

.wrapper_about .text-formatted p {
    font-size: 17px;
    line-height: 1.5;
    margin: 0;
}


.wrapper_about .field--name-field-ssylka {
    display: flex;
    justify-content: center;
    text-align: center;
    margin-top: 28px;
}

.wrapper_about .field--name-field-ssylka .field__item {
    margin: 0;
}

.wrapper_about .field--name-body p:has(> a.about-company-more),
.wrapper_about .field--name-body p:has(> a[href^="/about"]),
.wrapper_about .text-formatted p:has(> a.about-company-more),
.wrapper_about .text-formatted p:has(> a[href^="/about"]) {
    display: flex;
    justify-content: center;
    margin-top: 28px;
    margin-bottom: 0;
}

.wrapper_about .field--name-field-ssylka a,
.wrapper_about .field--name-body a.about-company-more,
.wrapper_about .text-formatted a.about-company-more,
.wrapper_about .field--name-body a[href^="/about"],
.wrapper_about .text-formatted a[href^="/about"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 245px;
    min-height: 50px;
    padding: 15px 28px;
    font-family: var(--vesta-font-heading);
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    text-shadow: none;
    color: var(--vesta-dark);
    background: var(--vesta-accent);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.wrapper_about .field--name-field-ssylka a:hover,
.wrapper_about .field--name-field-ssylka a:focus-visible,
.wrapper_about .field--name-body a.about-company-more:hover,
.wrapper_about .field--name-body a.about-company-more:focus-visible,
.wrapper_about .text-formatted a.about-company-more:hover,
.wrapper_about .text-formatted a.about-company-more:focus-visible,
.wrapper_about .field--name-body a[href^="/about"]:hover,
.wrapper_about .field--name-body a[href^="/about"]:focus-visible,
.wrapper_about .text-formatted a[href^="/about"]:hover,
.wrapper_about .text-formatted a[href^="/about"]:focus-visible {
    background: var(--vesta-accent-hover);
    color: var(--vesta-dark);
    text-decoration: none;
}

.wrapper_about .field--name-field-ssylka a:focus-visible,
.wrapper_about .field--name-body a.about-company-more:focus-visible,
.wrapper_about .text-formatted a.about-company-more:focus-visible,
.wrapper_about .field--name-body a[href^="/about"]:focus-visible,
.wrapper_about .text-formatted a[href^="/about"]:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}


@media screen and (max-width: 991px) {
    .wrapper_about {
        height: clamp(380px, 55vw, 510px);
    }
}

@media screen and (max-width: 767px) {
    .wrapper_about {
        height: auto;
        min-height: 360px;
        padding: 48px 0;
    }

    .wrapper_about .region,
    .wrapper_about .container > [class*="region"] {
        gap: 10px;
    }

    .wrapper_about .field--name-field-ssylka {
        margin-top: 24px;
    }

    .wrapper_about .field--name-body p:has(> a.about-company-more),
    .wrapper_about .field--name-body p:has(> a[href^="/about"]),
    .wrapper_about .text-formatted p:has(> a.about-company-more),
    .wrapper_about .text-formatted p:has(> a[href^="/about"]) {
        margin-top: 24px;
    }

    .wrapper_about .field--name-field-ssylka a,
    .wrapper_about .field--name-body a.about-company-more,
    .wrapper_about .text-formatted a.about-company-more,
    .wrapper_about .field--name-body a[href^="/about"],
    .wrapper_about .text-formatted a[href^="/about"] {
        min-width: 0;
        width: 100%;
        max-width: 320px;
    }
}

@media screen and (max-width: 575px) {
    .wrapper_about {
        min-height: 300px;
        padding: 36px 0;
    }

    .wrapper_about .region,
    .wrapper_about .container > [class*="region"] {
        gap: 8px;
        max-width: 100%;
    }

    .wrapper_about .field--name-field-ssylka {
        margin-top: 22px;
    }

    .wrapper_about .field--name-body p:has(> a.about-company-more),
    .wrapper_about .field--name-body p:has(> a[href^="/about"]),
    .wrapper_about .text-formatted p:has(> a.about-company-more),
    .wrapper_about .text-formatted p:has(> a[href^="/about"]) {
        margin-top: 22px;
    }
}


#footer .ajax-progress,
#header .ajax-progress {
    display: none;
}


.form-actions,
.webform-button--wrapper,
.modal-footer {
    position: relative;
    overflow: visible;
}

.form-actions .ajax-progress,
.webform-button--wrapper .ajax-progress,
.modal-footer .ajax-progress {
    position: absolute;
    left: calc(100% + 12px);
    right: auto;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    float: none;
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.form-actions .ajax-progress .throbber,
.form-actions .ajax-progress .message,
.webform-button--wrapper .ajax-progress .throbber,
.webform-button--wrapper .ajax-progress .message,
.modal-footer .ajax-progress .throbber,
.modal-footer .ajax-progress .message {
    margin: 0;
}

#header {
    font-family: var(--vesta-font-body);
    color: var(--vesta-text);
}


#header .header-top {
    background: var(--vesta-dark);
    color: #fff;
    padding: 5px 0;
}

#header .header-top-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

#header .header-top-center {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
    flex: 1 1 auto;
    min-width: 0;
}

#header .header-top-contact-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 25px;
}

#header .header-top .contact-item {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    color: #fff;
}

#header .header-top .contact-item .icon {
    flex-shrink: 0;
    color: #fff;
}

#header .header-top .contact-item a {
    color: #fff;
    text-decoration: none;
}

#header .header-top .contact-item a:hover {
    color: var(--vesta-accent);
}

#header .header-top .contact-item-text {
    word-break: break-word;
}

#header .header-top .header-social {
    gap: 5px;
}

#header .header-top .header-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    color: #fff;
}

#header .header-top .header-social svg {
    width: 25px;
    height: 25px;
}

#header .header-top .header-social a img {
    width: 25px;
    height: 25px;
    display: block;
}


/* Логотип и подпись завода */
.logo-link .logo-subbrand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-width: 0;
    text-align: left;
}

.logo-link .logo-subbrand__name {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin: 0;
    padding: 0;
    font-family: 'Roboto Condensed', var(--vesta-font-body), sans-serif;
    font-weight: 700;
    font-size: clamp(10px, 1.1vw, 13px);
    line-height: 1.08;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--vesta-text);
}

.logo-link .logo-subbrand__line {
    display: block;
    white-space: nowrap;
}

.logo-link .logo-subbrand__line::first-letter {
    color: #e8641b;
}

#header .header-main {
    background: #fff;
    box-shadow: 3px 2px 20px rgba(140, 148, 162, 0.2);
    padding: 0 0;
    position: relative;
    z-index: 20;
}

#header .header-main .logo-link {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    color: var(--vesta-text);
}

#header .header-main .logo-img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    height: 80px;
}

#header .header-main .logo-img {
    display: block;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
    vertical-align: middle;
}

#header .header-main .logo-title {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 12px;
    line-height: normal;
    max-width: 10em;
}

/* Подпись логотипа мобильная */
@media (max-width: 991px) {
    #header .header-main .logo-link {
        gap: 8px;
    }

    #header .header-main .logo-img-wrap {
        height: 56px;
    }

    #header .header-main .logo-img {
        max-height: 56px;
    }

    #header .header-main .logo-link .logo-subbrand__name {
        font-size: 9px;
        line-height: 1.06;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    #header .header-main .logo-link .logo-subbrand__name {
        font-size: 10px;
    }
}


#header .header-main .region-navigation ul.nav,
#header .header-main .region-navigation .header-main-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 30px;
    list-style: none;
    margin: 0;
    padding: 0;
}

@media (min-width: 992px) {
    
    #header .header-main .region-navigation ul.nav.header-main-menu,
    #header .header-main .region-navigation .header-main-menu {
        flex-wrap: nowrap !important;
    }

    #header .header-main .col-nav {
        flex: 1 1 0;
        min-width: 0;
        margin-left: -130px;
    }

    #header .header-main .region-navigation ul.nav.header-main-menu,
    #header .header-main .region-navigation .navbar-nav {
        gap: 22px;
    }
}

@media (min-width: 1400px) {
    #header .header-main .region-navigation ul.nav.header-main-menu,
    #header .header-main .region-navigation .navbar-nav {
        gap: 30px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    #header .header-main .row {
        --bs-gutter-x: 4px;
    }

    #header .header-main .header-main__logo-col {
        padding-right: 4px;
    }

    #header .header-main .region-navigation ul.nav.header-main-menu,
    #header .header-main .region-navigation .navbar-nav {
        gap: 8px;
    }

    #header .header-main .region-navigation .nav-link {
        font-size: 15px;
    }

    #header .header-main .col-nav {
        flex: 1 1 0;
        min-width: 0;
        max-width: none;
        padding-left: 0;
    }
}

#header .header-main .region-navigation .nav-item {
    flex-shrink: 0;
    margin: 0;
}

#header .header-main .region-navigation .nav-item.dropdown {
    position: relative;
    z-index: 2;
}

#header .header-main .region-navigation .nav-item.dropdown:hover,
#header .header-main .region-navigation .nav-item.dropdown:focus-within {
    z-index: 10;
}

#header .header-main .region-navigation .nav-link {
    font-size: 17px;
    font-weight: 400;
    color: var(--vesta-text);
    padding: 0.35rem 0;
    display: inline-block;
    white-space: nowrap;
}

#header .header-main .region-navigation .nav-link:hover,
#header .header-main .region-navigation .nav-link:focus {
    color: var(--vesta-dark);
}

#header .header-main .region-navigation .nav-link.active,
#header .header-main .region-navigation .nav-link.is-active {
    font-weight: 600;
}

#header .header-main .region-navigation .nav-link.dropdown-toggle {
    display: inline-flex;
    align-items: center;
}


#header .header-main .region-navigation .dropdown-toggle::after {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-left: 7px;
    vertical-align: -0.2em;
    border: none;
    flex-shrink: 0;
    transform-origin: 50% 55%;
    transition: transform 0.2s ease;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20fill%3D%22none%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M7.16854%204.35604C7.3516%204.17299%207.6484%204.17299%207.83146%204.35604L13.4565%209.98104C13.6395%2010.1641%2013.6395%2010.4609%2013.4565%2010.644C13.2734%2010.827%2012.9766%2010.827%2012.7935%2010.644L7.5%205.35041L2.20646%2010.644C2.0234%2010.827%201.7266%2010.827%201.54354%2010.644C1.36049%2010.4609%201.36049%2010.1641%201.54354%209.98104L7.16854%204.35604Z%22%20fill%3D%22%232D3235%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

#header .header-main .region-navigation .nav-item.dropdown:hover > .dropdown-toggle::after,
#header .header-main .region-navigation .nav-item.dropdown:focus-within > .dropdown-toggle::after {
    transform: rotate(180deg);
}


#header .header-main .region-navigation .dropdown-toggle.vesta-nav-chevron-static::after {
    transform: rotate(180deg);
}

#header .header-main .col-nav {
    min-width: 0;
}


@media (min-width: 992px) {
    #header .header-main .container > .row.align-items-center {
        --bs-gutter-x: 0;
        column-gap: 89px;
        row-gap: 0;
    }

    #header .header-main .container > .row.align-items-center > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }
}


@media (min-width: 992px) and (max-width: 1199px) {
    #header .header-main .container > .row.align-items-center {
        column-gap: 22px;
    }
}

#header .header-main .col-cart-search {
    flex-wrap: nowrap;
    align-items: center;
    gap: 7px;
}

#header .btn-callback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
    padding: 15px 12px;
    background: var(--vesta-accent);
    color: var(--vesta-dark);
    font-family: var(--vesta-font-heading);
    font-weight: 500;
    font-size: 12px;
    line-height: normal;
    text-decoration: none;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

#header .btn-callback:hover,
#header .btn-callback:focus-visible {
    background: var(--vesta-accent-hover);
    color: var(--vesta-dark);
}


#header .wr-search {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    flex-shrink: 0;
    gap: 0;
    position: relative;
    z-index: 3;
    width: 45px;
    min-width: 45px;
    min-height: 45px;
}

#header .wr-search .wr-search-form {
    position: absolute;
    right: 45px;
    top: 50%;
    left: auto;
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    min-width: 0;
    width: 0;
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: width 0.35s ease, max-width 0.35s ease, opacity 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

#header .wr-search.search-is-open {
    z-index: 20;
}


#header .wr-search.search-is-open .wr-search-form {
    width: min(300px, max(35vw, 12em));
    max-width: min(300px, max(35vw, 12em));
    opacity: 1;
    pointer-events: auto;
    padding-right: 8px;
}

#header .wr-search .region-search.active {
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
    opacity: 1;
    pointer-events: auto;
}

#header .wr-search .region-search {
    margin: 0;
}


#header .wr-search-form .form-item .btn-primary,
#header .region-search .form-item .btn-primary,
.vesta-page-search .form-item .btn-primary {
    display: none !important;
}


.wr_content .vesta-page-search,
#main .vesta-page-search {
    width: min(780px, max(91vw, 31.2em));
    max-width: 100%;
    margin-bottom: 24px;
    box-sizing: border-box;
}

body.vesta-path-search #main .wr_content .block-page-title-block {
    margin-top: 30px;
}


#header .header-main .region-navigation .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    float: none;
    width: 220px;
    min-width: 220px;
    max-width: min(220px, 90vw);
    height: auto;
    margin: 0;
    padding: 10px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    align-content: flex-start;
    gap: 13px;
    background: #ffffff;
    border: 1px solid rgba(42, 46, 54, 0.12);
    border-radius: 2px;
    box-shadow: 0 0 12px rgba(123, 42, 64, 0.1);
    z-index: 1060;
}

#header .header-main .region-navigation .nav > .nav-item.dropdown:hover > .dropdown-menu,
#header .header-main .region-navigation .nav > .nav-item.dropdown:focus-within > .dropdown-menu {
    display: flex !important;
}

#header .header-main .region-navigation .dropdown-menu > .nav-item {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

#header .header-main .region-navigation .dropdown-menu .dropdown-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.35;
    color: var(--vesta-text);
    white-space: normal;
    text-decoration: none;
    border-radius: 0;
    min-width: 0;
}


#header .header-main .region-navigation .dropdown-menu .dropdown-item.vesta-dropdown-item--has-children::after {
    content: '';
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    margin-left: auto;
    border: none;
    transform: rotate(90deg);
    transform-origin: center;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20fill%3D%22none%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M7.16854%204.35604C7.3516%204.17299%207.6484%204.17299%207.83146%204.35604L13.4565%209.98104C13.6395%2010.1641%2013.6395%2010.4609%2013.4565%2010.644C13.2734%2010.827%2012.9766%2010.827%2012.7935%2010.644L7.5%205.35041L2.20646%2010.644C2.0234%2010.827%201.7266%2010.827%201.54354%2010.644C1.36049%2010.4609%201.36049%2010.1641%201.54354%209.98104L7.16854%204.35604Z%22%20fill%3D%22%232D3235%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
    transition: background 0.2s ease, transform 0.2s ease;
}

#header .header-main .region-navigation .dropdown-menu .dropdown-item:hover,
#header .header-main .region-navigation .dropdown-menu .dropdown-item:focus {
    background: transparent;
    color: var(--vesta-dark);
}


#header .header-main .region-navigation .dropdown-menu .dropdown-item.active,
#header .header-main .region-navigation .dropdown-menu .dropdown-item.is-active {
    background: transparent;
    color: var(--vesta-text);
    font-weight: 400;
}

#header .header-main .region-navigation .dropdown-menu .dropdown-item.active::before,
#header .header-main .region-navigation .dropdown-menu .dropdown-item.is-active::before {
    display: none;
}

#header .header-main .region-navigation .dropdown-menu .dropdown-item.vesta-dropdown-item--has-children:hover::after,
#header .header-main .region-navigation .dropdown-menu .dropdown-item.vesta-dropdown-item--has-children:focus-visible::after {
    transform: rotate(90deg);
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20fill%3D%22none%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M7.16854%204.35604C7.3516%204.17299%207.6484%204.17299%207.83146%204.35604L13.4565%209.98104C13.6395%2010.1641%2013.6395%2010.4609%2013.4565%2010.644C13.2734%2010.827%2012.9766%2010.827%2012.7935%2010.644L7.5%205.35041L2.20646%2010.644C2.0234%2010.827%201.7266%2010.827%201.54354%2010.644C1.36049%2010.4609%201.36049%2010.1641%201.54354%209.98104L7.16854%204.35604Z%22%20fill%3D%22%23ffbc1a%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

#header .wr-search-form form,
#header .region-search form,
.vesta-page-search form {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
}

#header .wr-search-form .form-item,
#header .region-search .form-item,
.vesta-page-search .form-item {
    margin: 0;
    flex: 1;
    min-width: 0;
}


#header .wr-search-form input[type="search"]::-webkit-search-cancel-button,
#header .wr-search-form input[type="search"]::-webkit-search-decoration,
#header .region-search input[type="search"]::-webkit-search-cancel-button,
#header .region-search input[type="search"]::-webkit-search-decoration,
.vesta-page-search input[type="search"]::-webkit-search-cancel-button,
.vesta-page-search input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}

#header .wr-search-form input[type="search"]::-moz-search-clear-button,
#header .region-search input[type="search"]::-moz-search-clear-button,
.vesta-page-search input[type="search"]::-moz-search-clear-button {
    display: none;
}

#header .wr-search-form input[type="text"],
#header .wr-search-form input[type="search"],
#header .region-search input[type="text"],
#header .region-search input[type="search"],
.vesta-page-search input[type="text"],
.vesta-page-search input[type="search"] {
    width: 100%;
    min-width: 12em;
    min-height: 45px;
    padding: 8px 44px 8px 12px;
    border: 1px solid var(--vesta-text);
    border-radius: 0;
    font-size: 15px;
    font-family: var(--vesta-font-body);
    color: var(--vesta-text);
    background: #fff;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}


#header .wr-search-form .form-actions,
#header .region-search .form-actions,
.vesta-page-search .form-actions {
    position: absolute;
    right: 1px;
    top: 1px;
    bottom: 1px;
    width: 42px;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    z-index: 1;
    pointer-events: auto;
}

#header .wr-search-form .form-actions .form-submit,
#header .wr-search-form .form-actions input[type="submit"],
#header .wr-search-form .form-actions button[type="submit"],
#header .region-search .form-actions .form-submit,
#header .region-search .form-actions input[type="submit"],
#header .region-search .form-actions button[type="submit"],
.vesta-page-search .form-actions .form-submit,
.vesta-page-search .form-actions input[type="submit"],
.vesta-page-search .form-actions button[type="submit"] {
    display: block !important;
    width: 100%;
    height: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%227%22%20stroke%3D%22%232D3235%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M16%2016L21%2021%22%20stroke%3D%22%232D3235%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px 18px;
    box-shadow: none !important;
    text-indent: -9999px;
    overflow: hidden;
    white-space: nowrap;
    cursor: pointer;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

#header .wr-search-form .form-actions .form-submit:hover,
#header .wr-search-form .form-actions .form-submit:focus-visible,
#header .wr-search-form .form-actions input[type="submit"]:hover,
#header .wr-search-form .form-actions input[type="submit"]:focus-visible,
#header .wr-search-form .form-actions button[type="submit"]:hover,
#header .wr-search-form .form-actions button[type="submit"]:focus-visible,
#header .region-search .form-actions .form-submit:hover,
#header .region-search .form-actions .form-submit:focus-visible,
#header .region-search .form-actions input[type="submit"]:hover,
#header .region-search .form-actions input[type="submit"]:focus-visible,
#header .region-search .form-actions button[type="submit"]:hover,
#header .region-search .form-actions button[type="submit"]:focus-visible,
.vesta-page-search .form-actions .form-submit:hover,
.vesta-page-search .form-actions .form-submit:focus-visible,
.vesta-page-search .form-actions input[type="submit"]:hover,
.vesta-page-search .form-actions input[type="submit"]:focus-visible,
.vesta-page-search .form-actions button[type="submit"]:hover,
.vesta-page-search .form-actions button[type="submit"]:focus-visible {
    background-color: rgba(42, 46, 54, 0.06) !important;
}

#header .wr-search-form input[type="text"]:focus,
#header .wr-search-form input[type="text"]:focus-visible,
#header .wr-search-form input[type="search"]:focus,
#header .wr-search-form input[type="search"]:focus-visible,
#header .region-search input[type="text"]:focus,
#header .region-search input[type="text"]:focus-visible,
#header .region-search input[type="search"]:focus,
#header .region-search input[type="search"]:focus-visible,
#header .wr-search-form .form-control:focus,
#header .wr-search-form .form-control:focus-visible,
#header .region-search .form-control:focus,
#header .region-search .form-control:focus-visible,
.vesta-page-search input[type="text"]:focus,
.vesta-page-search input[type="text"]:focus-visible,
.vesta-page-search input[type="search"]:focus,
.vesta-page-search input[type="search"]:focus-visible,
.vesta-page-search .form-control:focus,
.vesta-page-search .form-control:focus-visible {
    outline: none;
    box-shadow: none;
    border-color: var(--vesta-text);
}

#header .wr-search .js-search-btn {
    flex-shrink: 0;
    box-sizing: border-box;
    width: 45px;
    height: 45px;
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--vesta-text);
    background: #fff;
    color: var(--vesta-text);
    cursor: pointer;
    position: relative;
    z-index: 2;
}

#header .wr-search .js-search-btn:hover {
    background: rgba(42, 46, 54, 0.06);
}

#header .wr-search .js-search-btn .icon-close {
    display: none;
}

#header .wr-search .js-search-btn.active .icon-search {
    display: none;
}

#header .wr-search .js-search-btn.active .icon-close {
    display: block;
}

@media screen and (max-width: 991px) {
    
    #header .header-top {
        position: relative;
    }

    #header .header-top-inner {
        position: static;
        justify-content: center;
        align-items: center;
        flex-wrap: nowrap;
        gap: 8px;
        padding-right: 0;
        padding-left: 8px;
    }

    #header .header-top-center {
        flex: 1 1 auto;
        justify-content: center;
        gap: 16px;
        min-width: 0;
        max-width: calc(100% - 52px);
        padding-right: 6px;
        box-sizing: border-box;
    }

    #header .header-top-contact-group {
        justify-content: center;
    }

    #header .header-top .header-social {
        justify-content: center;
    }

    #header .header-top .mobile-menu-btn--top {
        position: absolute;
        right: max(12px, env(safe-area-inset-right, 0px));
        top: 50%;
        transform: translateY(-50%);
        z-index: 2;
    }

    
    #header .header-top-contact-group .contact-item:has(.icon-map),
    #header .header-top-contact-group .contact-item:has(.icon-mail) {
        display: none;
    }

    #header .navigation.header-main .row {
        justify-content: center;
    }

    #header .header-main .vesta-header-cart-wrap,
    #header .header-main .btn-callback {
        display: none !important;
    }

    
    #header .vesta-search-slot--header:not(:has(.wr-search)) {
        display: none;
    }
}

@media screen and (max-width: 575px) {
    #header .header-top .contact-item {
        font-size: 13px;
    }

    #header .btn-callback {
        min-width: 0;
        padding: 12px 10px;
        font-size: 12px;
    }
}

.header-bottom {
    background: #ccc;
}

.toolbar .toolbar-tab .toolbar-icon {
    padding: 0.75em 1.5em 0.75em 2.5em;
}
.path-admin .messages--error {
    display: none;
}

.contextual-region .contextual {
    display: none;
    top: -8px;
    right: 8px;
}

.contextual-region .contextual-region .contextual {
    top: 8px;
}

.contextual-region:hover .contextual {
    display: block;
}

.contextual-region .contextual .trigger {
    width: 22px !important;
    height: 22px !important;
    background-size: 14px 14px;
}

.cart-block--summary .cart-block--summary__count {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 2px solid #fff;
    background: var(--vesta-accent);
    color: var(--vesta-dark);
    top: -3px;
    right: -9px;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 500;
    transition: background 0.2s;
}

.cart-block--summary:hover .cart-block--summary__count {
    background: var(--vesta-accent-hover);
}


body.vesta-catalog-section #header .col-cart-search .vesta-header-cart-wrap .region-cart,
body.vesta-catalog-section #header .col-cart-search .vesta-header-cart-wrap .block-commerce-cart,
body.vesta-catalog-section #header .col-cart-search .vesta-header-cart-wrap [data-block-plugin-id="commerce_cart"],
body.vesta-catalog-section #header .col-cart-search .region-cart,
body.vesta-catalog-section #header .col-cart-search .block-commerce-cart,
body.vesta-catalog-section #header .col-cart-search [data-block-plugin-id="commerce_cart"] {
    display: none !important;
}

#header-mob {
    top: 0;
    width: 100%;
    background: #d9d9d9;
    color: #000;
    padding: 5px 5px;
    z-index: 50;
}

#header-mob.toolbar-horizontal #header-mob {
    top: 0;
}

#header-mob > * {
    padding: 0 10px;
}

#header-mob a {
    color: #000;
}

.offcanvas {
    --bs-offcanvas-bg: var(--vesta-dark);
}

.offcanvas .offcanvas-title {
    color: #fff;
}

.offcanvas .offcanvas-header .btn-close {
    filter: invert(1);
}

.offcanvas .nav-link {
    color: rgba(255, 255, 255, 0.92);
}

.offcanvas .nav-link.active,
.offcanvas .nav-link.is-active {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.92);
    background: transparent;
}

.offcanvas .nav-link:focus,
.offcanvas .nav-link:focus-visible {
    box-shadow: none;
    color: rgba(255, 255, 255, 0.95);
    outline: 2px solid rgba(255, 255, 255, 0.35);
    outline-offset: 2px;
}

#offcanvasNav .dropdown-item.active,
#offcanvasNav .dropdown-item.is-active {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.92);
}

.offcanvas .offcanvas-title {
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 500;
}

#offcanvasNav .offcanvas-social a img {
    width: 25px;
    height: 25px;
    display: block;
}


#offcanvasNav .offcanvas-block--search {
    margin-top: 12px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

#offcanvasNav .offcanvas-block--search.offcanvas-block--search-top {
    margin-top: 0;
    margin-left: calc(-2 * var(--bs-offcanvas-padding-x, 1rem));
    margin-right: calc(-2 * var(--bs-offcanvas-padding-x, 1rem));
    padding-top: 0;
    padding-left: calc(2 * var(--bs-offcanvas-padding-x, 1rem));
    padding-right: calc(2 * var(--bs-offcanvas-padding-x, 1rem));
    padding-bottom: 16px;
    border-top: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    width: auto;
    max-width: none;
    box-sizing: border-box;
}

#offcanvasNav .offcanvas-block--search.offcanvas-block--search-top .vesta-search-slot {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

#offcanvasNav .vesta-search-slot--offcanvas {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

@media screen and (max-width: 991px) {
    #offcanvasNav .offcanvas-body {
        overflow-x: visible;
    }
}

#offcanvasNav .offcanvas-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

#offcanvasNav .offcanvas-brand {
    flex: 1 1 auto;
    min-width: 0;
}

#offcanvasNav .offcanvas-brand .logo-link.offcanvas-brand-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    max-width: 100%;
    text-decoration: none;
    color: #fff;
}

#offcanvasNav .offcanvas-brand .logo-link.offcanvas-brand-link:hover,
#offcanvasNav .offcanvas-brand .logo-link.offcanvas-brand-link:focus-visible {
    color: #fff;
    opacity: 0.92;
}

#offcanvasNav .offcanvas-brand .logo-img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    height: 64px;
    padding: 6px 8px;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
}

#offcanvasNav .offcanvas-brand .logo-img {
    display: block;
    max-height: 56px;
    width: auto;
    height: auto;
    object-fit: contain;
}

#offcanvasNav .offcanvas-brand .logo-link .logo-subbrand__name {
    color: #fff;
    font-size: clamp(9px, 2.6vw, 11px);
    line-height: 1.08;
}

#offcanvasNav .offcanvas-brand .logo-link .logo-subbrand__line {
    white-space: nowrap;
}

#offcanvasNav .offcanvas-brand .logo-link .logo-title {
    color: #fff;
    font-size: 14px;
    line-height: 1.25;
    max-width: 12em;
}

#offcanvasNav .wr-search {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    min-height: 0;
    position: relative;
    z-index: 1;
}

#offcanvasNav .wr-search .wr-search-form {
    position: static;
    right: auto;
    top: auto;
    transform: none;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    opacity: 1;
    pointer-events: auto;
    overflow: visible;
    padding-right: 0;
    margin: 0;
}

#offcanvasNav .wr-search.search-is-open .wr-search-form {
    width: 100% !important;
    max-width: 100% !important;
}

#offcanvasNav .wr-search .js-search-btn {
    display: none;
}

#offcanvasNav .wr-search-form .form-actions {
    position: absolute;
    right: 1px;
    top: 1px;
    bottom: 1px;
    width: 42px;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

#offcanvasNav .wr-search-form form {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
}


#offcanvasNav .wr-search-form .form--inline,
#offcanvasNav .wr-search-form form .form--inline {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 0;
}

#offcanvasNav .wr-search-form .form-item,
#offcanvasNav .wr-search-form .js-form-item,
#offcanvasNav .wr-search-form .form-type-search {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
}

#offcanvasNav .wr-search-form input[type="text"],
#offcanvasNav .wr-search-form input[type="search"],
#offcanvasNav .wr-search-form input.form-control,
#offcanvasNav .wr-search-form input.form-search {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto;
    inline-size: 100%;
    min-height: 45px;
    padding: 8px 44px 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 0;
    font-size: 15px;
    font-family: var(--vesta-font-body);
    color: var(--vesta-text);
    background: #fff;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    field-sizing: fixed;
}

#offcanvasNav .offcanvas-contacts {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

#offcanvasNav .offcanvas-contacts .offcanvas-phone,
#offcanvasNav .offcanvas-contacts .offcanvas-email {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
}

#offcanvasNav .offcanvas-contacts .offcanvas-phone:hover,
#offcanvasNav .offcanvas-contacts .offcanvas-phone:focus-visible,
#offcanvasNav .offcanvas-contacts .offcanvas-email:hover,
#offcanvasNav .offcanvas-contacts .offcanvas-email:focus-visible {
    color: var(--vesta-accent);
}

#offcanvasNav .offcanvas-contacts .offcanvas-address {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.4;
    color: #fff;
}

#offcanvasNav .offcanvas-contacts .offcanvas-phone .icon,
#offcanvasNav .offcanvas-contacts .offcanvas-email .icon,
#offcanvasNav .offcanvas-contacts .offcanvas-address .icon {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--vesta-accent);
}

#offcanvasNav .offcanvas-contacts .offcanvas-social {
    margin-bottom: 12px;
}

#offcanvasNav .offcanvas-contacts .offcanvas-callback {
    align-self: flex-start;
    margin-top: 30px;
}


#header .mobile-menu-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 10px 8px;
    margin: 0;
    border: 1px solid var(--vesta-text);
    border-radius: 0;
    background: #fff;
    cursor: pointer;
    box-sizing: border-box;
}

#header .mobile-menu-btn span {
    display: block;
    height: 2px;
    width: 100%;
    background: var(--vesta-text);
    border-radius: 1px;
}

#header .mobile-menu-btn:hover,
#header .mobile-menu-btn:focus-visible {
    background: rgba(42, 46, 54, 0.06);
}

#header .header-top .mobile-menu-btn--top {
    flex-shrink: 0;
    border-color: rgba(255, 255, 255, 0.55);
    background: transparent;
}

#header .header-top .mobile-menu-btn--top span {
    background: #fff;
}

#header .header-top .mobile-menu-btn--top:hover,
#header .header-top .mobile-menu-btn--top:focus-visible {
    background: rgba(255, 255, 255, 0.12);
}

#slider-block.slider-block,
div#slider-block {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

#slider-block .view-content,
#slider-block .slick-list {
    max-width: 100%;
    box-sizing: border-box;
}


#slider-block .slick-list {
    width: 100% !important;
}

#slider-block .slick-slide {
    max-width: 100%;
    box-sizing: border-box;
}

#slider-block .slick-slide .node--type-slide {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

div#slider-block .node--type-slide {
    --slide-min-h: min(70vh, 560px);
    --slide-hero-lead-max: 585px;
    position: relative;
    min-height: var(--slide-min-h);
    overflow: hidden;
}

div#slider-block .node--type-slide .field--name-field-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
}

div#slider-block .node--type-slide .field--name-field-image .field__item {
    height: 100%;
    min-height: 0;
    max-width: 100%;
}

div#slider-block .node--type-slide .field--name-field-image picture {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
}

div#slider-block .node--type-slide .field--name-field-image img,
div#slider-block .node--type-slide .field--name-field-image picture {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center center;
    display: block;
    
    max-width: none;
}

#slider-block .slick-slide .field--name-field-image img,
#slider-block .slick-slide .field--name-field-image picture {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

div#slider-block .node--type-slide .content {
    --slide-content-item-gap: 28px;
    --slide-gap-button-to-trust: 60px;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: var(--slide-content-item-gap);
    min-height: var(--slide-min-h);
    padding-top: clamp(1.5rem, 4vw, 3rem);
    padding-bottom: calc(clamp(1.5rem, 4vw, 3rem) + 1vw + 12px);
    color: #fff;
    box-sizing: border-box;
}

@media screen and (min-width: 1200px) and (max-width: 1399px) {
    div#slider-block .node--type-slide {
        --slide-min-h: clamp(300px, min(62vh, 52vw), 520px);
    }

    div#slider-block .node--type-slide .field--name-field-image img,
    div#slider-block .node--type-slide .field--name-field-image picture {
        object-fit: cover;
        object-position: center center;
    }
}


div#slider-block .node--type-slide .field--name-field-slide-title.field__item {
    box-sizing: border-box;
    flex: none;
    flex-grow: 0;
    order: 0;
    width: 100%;
    max-width: 410px;
    min-height: 123px;
    margin: 0;
    display: flex;
    align-items: center;
    font-family: var(--vesta-font-heading);
    font-style: normal;
    font-weight: 700;
    font-size: 33px;
    line-height: 41px;
    color: #fff;
    text-align: left;
}


div#slider-block .node--type-slide .field--name-field-slide-title.field__item p {
    margin: 0;
}

@media screen and (max-width: 767px) {
    div#slider-block .node--type-slide {
        --slide-hero-lead-max: 100%;
        --slide-min-h: min(52vh, 380px);
    }

    div#slider-block .node--type-slide .field--name-field-slide-title.field__item {
        max-width: 100%;
        min-height: 0;
        font-size: 28px;
        line-height: 34px;
    }
}

@media screen and (max-width: 575px) {
    div#slider-block .node--type-slide {
        --slide-min-h: min(48vh, 320px);
    }

    div#slider-block .node--type-slide .field--name-field-slide-title.field__item {
        font-size: 24px;
        line-height: 30px;
    }
}


div#slider-block .node--type-slide .field--name-body:not(.field--slide-body-stacked),
div#slider-block .node--type-slide .field--name-body:not(.field--slide-body-stacked) .field__item,
div#slider-block .node--type-slide .field--name-body:not(.field--slide-body-stacked) .text-formatted {
    display: contents;
}

div#slider-block .node--type-slide .content .field--name-body:not(.field--slide-body-stacked) .text-formatted > p:first-of-type,
div#slider-block .node--type-slide .field--name-body:not(.field--slide-body-stacked) .text-formatted > p:first-of-type,
div#slider-block .node--type-slide .field--name-body.field__item:not(.field--slide-body-stacked) > p:first-of-type {
    order: 1;
    flex: none;
    flex-grow: 0;
    align-self: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--slide-hero-lead-max);
    min-width: 0;
    min-height: 80px;
    margin: 0;
    padding: 0;
    display: block;
    overflow-wrap: break-word;
    font-family: var(--vesta-font-body);
    font-style: normal;
    font-weight: 400;
    font-size: 17px;
    line-height: 20px;
    color: #fff;
}


div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked {
    display: contents;
}

div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-body-intro {
    order: 1;
    flex: none;
    flex-grow: 0;
    align-self: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--slide-hero-lead-max);
    min-width: 0;
    min-height: 80px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    font-family: var(--vesta-font-body);
    font-style: normal;
    font-weight: 400;
    font-size: 17px;
    line-height: 20px;
    color: #fff;
}

div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-body-intro p {
    margin: 0;
}

div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-hero-trust-row {
    order: 3;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 55px;
    box-sizing: border-box;
    width: 100%;
    max-width: 570px;
    margin: calc(var(--slide-gap-button-to-trust) - var(--slide-content-item-gap)) 0 0 0;
    padding: 0;
    font-family: var(--vesta-font-body);
    font-style: normal;
    font-weight: 600;
    font-size: clamp(12px, 1.8vw, 15px);
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
}

div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-hero-trust-chip:first-child {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-hero-trust-chip:first-child::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-nadezhnost.svg') center / contain no-repeat;
}

div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-hero-trust-chip:nth-child(2) {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-hero-trust-chip:nth-child(2)::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-garantii.svg') center / contain no-repeat;
}

div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-hero-trust-chip:nth-child(3) {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-hero-trust-chip:nth-child(3)::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-kachestvo.svg') center / contain no-repeat;
}


div#slider-block .node--type-slide .content > .field.field__items:has(> .field__item:nth-child(3):last-child):not(.field--slide-body-stacked):not(.field--name-field-slide-title):not(.field--name-field-slide-link) {
    order: 3;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 55px;
    box-sizing: border-box;
    width: 100%;
    max-width: 570px;
    margin: calc(var(--slide-gap-button-to-trust) - var(--slide-content-item-gap)) 0 0 0;
    padding: 0;
    font-family: var(--vesta-font-body);
    font-style: normal;
    font-weight: 600;
    font-size: clamp(12px, 1.8vw, 15px);
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
}

div#slider-block .node--type-slide .content > .field.field__items:has(> .field__item:nth-child(3):last-child):not(.field--slide-body-stacked):not(.field--name-field-slide-title):not(.field--name-field-slide-link) > .field__item:first-child {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

div#slider-block .node--type-slide .content > .field.field__items:has(> .field__item:nth-child(3):last-child):not(.field--slide-body-stacked):not(.field--name-field-slide-title):not(.field--name-field-slide-link) > .field__item:first-child::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-nadezhnost.svg') center / contain no-repeat;
}

div#slider-block .node--type-slide .content > .field.field__items:has(> .field__item:nth-child(3):last-child):not(.field--slide-body-stacked):not(.field--name-field-slide-title):not(.field--name-field-slide-link) > .field__item:nth-child(2) {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

div#slider-block .node--type-slide .content > .field.field__items:has(> .field__item:nth-child(3):last-child):not(.field--slide-body-stacked):not(.field--name-field-slide-title):not(.field--name-field-slide-link) > .field__item:nth-child(2)::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-garantii.svg') center / contain no-repeat;
}

div#slider-block .node--type-slide .content > .field.field__items:has(> .field__item:nth-child(3):last-child):not(.field--slide-body-stacked):not(.field--name-field-slide-title):not(.field--name-field-slide-link) > .field__item:nth-child(3) {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

div#slider-block .node--type-slide .content > .field.field__items:has(> .field__item:nth-child(3):last-child):not(.field--slide-body-stacked):not(.field--name-field-slide-title):not(.field--name-field-slide-link) > .field__item:nth-child(3)::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-kachestvo.svg') center / contain no-repeat;
}


div#slider-block .node--type-slide .content > .field:not(.field--name-field-slide-title):not(.field--name-field-slide-link):not(.field--slide-body-stacked) > .field__items:has(> .field__item:nth-child(3):last-child) {
    order: 3;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 55px;
    box-sizing: border-box;
    width: 100%;
    max-width: 570px;
    margin: calc(var(--slide-gap-button-to-trust) - var(--slide-content-item-gap)) 0 0 0;
    padding: 0;
    font-family: var(--vesta-font-body);
    font-style: normal;
    font-weight: 600;
    font-size: clamp(12px, 1.8vw, 15px);
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
}

div#slider-block .node--type-slide .content > .field:not(.field--name-field-slide-title):not(.field--name-field-slide-link):not(.field--slide-body-stacked) > .field__items:has(> .field__item:nth-child(3):last-child) > .field__item:first-child {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

div#slider-block .node--type-slide .content > .field:not(.field--name-field-slide-title):not(.field--name-field-slide-link):not(.field--slide-body-stacked) > .field__items:has(> .field__item:nth-child(3):last-child) > .field__item:first-child::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-nadezhnost.svg') center / contain no-repeat;
}

div#slider-block .node--type-slide .content > .field:not(.field--name-field-slide-title):not(.field--name-field-slide-link):not(.field--slide-body-stacked) > .field__items:has(> .field__item:nth-child(3):last-child) > .field__item:nth-child(2) {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

div#slider-block .node--type-slide .content > .field:not(.field--name-field-slide-title):not(.field--name-field-slide-link):not(.field--slide-body-stacked) > .field__items:has(> .field__item:nth-child(3):last-child) > .field__item:nth-child(2)::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-garantii.svg') center / contain no-repeat;
}

div#slider-block .node--type-slide .content > .field:not(.field--name-field-slide-title):not(.field--name-field-slide-link):not(.field--slide-body-stacked) > .field__items:has(> .field__item:nth-child(3):last-child) > .field__item:nth-child(3) {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

div#slider-block .node--type-slide .content > .field:not(.field--name-field-slide-title):not(.field--name-field-slide-link):not(.field--slide-body-stacked) > .field__items:has(> .field__item:nth-child(3):last-child) > .field__item:nth-child(3)::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-kachestvo.svg') center / contain no-repeat;
}


div#slider-block .node--type-slide .content > .field:not(.field--name-field-slide-title):not(.field--name-field-slide-link):not(.field--slide-body-stacked):has(> .field__items > .field__item:nth-child(3):last-child) {
    order: 3;
    box-sizing: border-box;
    width: 100%;
    max-width: 570px;
    margin: calc(var(--slide-gap-button-to-trust) - var(--slide-content-item-gap)) 0 0 0;
}

div#slider-block .node--type-slide .content > p:first-of-type {
    order: 1;
    flex: none;
    flex-grow: 0;
    align-self: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--slide-hero-lead-max);
    min-width: 0;
    min-height: 80px;
    margin: 0;
    padding: 0;
    display: block;
    overflow-wrap: break-word;
    font-family: var(--vesta-font-body);
    font-style: normal;
    font-weight: 400;
    font-size: 17px;
    line-height: 20px;
    color: #fff;
}

div#slider-block .node--type-slide .content > p:not(:first-of-type) {
    order: 3;
    flex: none;
    flex-grow: 0;
    align-self: stretch;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 55px;
    box-sizing: border-box;
    width: 100%;
    max-width: 570px;
    margin: calc(var(--slide-gap-button-to-trust) - var(--slide-content-item-gap)) 0 0 0;
    padding: 0;
    font-family: var(--vesta-font-body);
    font-style: normal;
    font-weight: 600;
    font-size: clamp(12px, 1.8vw, 15px);
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
}

div#slider-block .node--type-slide .content > p.slide-hero-trust span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

div#slider-block .node--type-slide .content > p.slide-hero-trust span:first-child::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-nadezhnost.svg') center / contain no-repeat;
}

div#slider-block .node--type-slide .content > p.slide-hero-trust span:nth-child(2) {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

div#slider-block .node--type-slide .content > p.slide-hero-trust span:nth-child(2)::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-garantii.svg') center / contain no-repeat;
}

div#slider-block .node--type-slide .content > p.slide-hero-trust span:nth-child(3) {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

div#slider-block .node--type-slide .content > p.slide-hero-trust span:nth-child(3)::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: url('../image/slide-icon-kachestvo.svg') center / contain no-repeat;
}

@media screen and (max-width: 767px) {
    div#slider-block .node--type-slide .content > p:first-of-type,
    div#slider-block .node--type-slide .content .field--name-body:not(.field--slide-body-stacked) .text-formatted > p:first-of-type,
    div#slider-block .node--type-slide .field--name-body:not(.field--slide-body-stacked) .text-formatted > p:first-of-type,
    div#slider-block .node--type-slide .field--name-body.field__item:not(.field--slide-body-stacked) > p:first-of-type {
        min-height: 0;
    }

    div#slider-block .node--type-slide .content > p:not(:first-of-type) {
        max-width: 100%;
    }

    div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-body-intro,
    div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-hero-trust-row,
    div#slider-block .node--type-slide .content > .field.field__items:has(> .field__item:nth-child(3):last-child):not(.field--slide-body-stacked):not(.field--name-field-slide-title):not(.field--name-field-slide-link),
    div#slider-block .node--type-slide .content > .field:not(.field--name-field-slide-title):not(.field--name-field-slide-link):not(.field--slide-body-stacked):has(> .field__items > .field__item:nth-child(3):last-child),
    div#slider-block .node--type-slide .content > .field:not(.field--name-field-slide-title):not(.field--name-field-slide-link):not(.field--slide-body-stacked) > .field__items:has(> .field__item:nth-child(3):last-child) {
        max-width: 100%;
    }
}


@media screen and (max-width: 499px) {
    div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-hero-trust-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    div#slider-block .node--type-slide .content > .field.field__items:has(> .field__item:nth-child(3):last-child):not(.field--slide-body-stacked):not(.field--name-field-slide-title):not(.field--name-field-slide-link),
    div#slider-block .node--type-slide .content > .field:not(.field--name-field-slide-title):not(.field--name-field-slide-link):not(.field--slide-body-stacked) > .field__items:has(> .field__item:nth-child(3):last-child) {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    div#slider-block .node--type-slide .content > p.slide-hero-trust {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    div#slider-block .node--type-slide .content > p.slide-hero-trust span:first-child,
    div#slider-block .node--type-slide .content > p.slide-hero-trust span:nth-child(2),
    div#slider-block .node--type-slide .content > p.slide-hero-trust span:nth-child(3) {
        white-space: normal;
        width: 100%;
    }
}


div#slider-block .node--type-slide .field--name-field-slide-link {
    order: 2;
    flex: none;
    width: 100%;
    max-width: 369px;
    margin: 0;
    padding: 0;
}

div#slider-block .node--type-slide .field--name-field-slide-link .field__item {
    position: relative;
    width: fit-content;
    max-width: 100%;
    margin: 0;
    overflow: visible;
}

div#slider-block .node--type-slide .field--name-field-slide-link .ajax-progress {
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    float: none;
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

div#slider-block .node--type-slide .field--name-field-slide-link .ajax-progress .throbber,
div#slider-block .node--type-slide .field--name-field-slide-link .ajax-progress .message {
    margin: 0;
}

div#slider-block .node--type-slide .field--name-field-slide-link a {
    box-sizing: border-box;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 369px;
    min-height: 50px;
    height: 50px;
    padding: 15px 20px;
    margin: 0;
    border: none;
    border-radius: 0;
    background: var(--vesta-accent);
    font-family: var(--vesta-font-heading);
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    color: var(--vesta-dark);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

div#slider-block .node--type-slide .field--name-field-slide-link a:hover,
div#slider-block .node--type-slide .field--name-field-slide-link a:focus-visible {
    background: var(--vesta-accent-active);
    color: var(--vesta-dark);
    text-decoration: none;
}

div#slider-block .node--type-slide .field--name-field-slide-link a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: calc(50% - 10px);
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

button.slick-prev.slick-arrow {
    left: 25px;
}

button.slick-next.slick-arrow {
    right: 25px;
}

ul.slick-dots {
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 7px;
    list-style: none;
    margin: 10px 0;
}

ul.slick-dots li button {
    background: #686868;
    border-radius: 50%;
    border: none;
    padding: 0;
    width: 10px;
    font-size: 0;
    height: 10px;
    display: block;
}

ul.slick-dots li button::before {
    display: none;
}

ul.slick-dots li.slick-active button {
    background: #272727;
}

button.slick-arrow {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

button.slick-arrow::before {
    content: '';
    display: block;
    position: relative;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    font-size: 0;
}

button.slick-prev.slick-arrow::before {
    background-image: url("../image/arrow-top.svg");
    transform: rotate(-90deg);
}

button.slick-next.slick-arrow::before {
    background-image: url("../image/arrow-top.svg");
    transform: rotate(90deg);
}


#scrollToTop.scroll-to-top,
#scrollToTop {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 70px;
    height: 70px;
    padding: 0;
    margin: 0;
    background: var(--vesta-accent);
    border: none;
    border-radius: 40px;
    position: fixed;
    bottom: 120px;
    right: 30px;
    z-index: 10;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

#scrollToTop.scroll-to-top:hover,
#scrollToTop.scroll-to-top:focus-visible,
#scrollToTop:hover,
#scrollToTop:focus-visible {
    background: var(--vesta-accent-hover);
}

#scrollToTop.scroll-to-top:focus-visible,
#scrollToTop:focus-visible {
    outline: 2px solid var(--vesta-dark);
    outline-offset: 3px;
}

#scrollToTop .scroll-to-top__icon,
#scrollToTop svg {
    width: 13px;
    height: 15px;
    flex: none;
    display: block;
    pointer-events: none;
}

@media screen and (min-width: 1200px) and (max-width: 1399px) {
    #scrollToTop.scroll-to-top,
    #scrollToTop {
        bottom: 96px;
        right: 20px;
        width: 64px;
        height: 64px;
        border-radius: 32px;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    #scrollToTop.scroll-to-top,
    #scrollToTop {
        bottom: 100px;
        right: 22px;
        width: 64px;
        height: 64px;
        border-radius: 32px;
    }
}

@media screen and (max-width: 991px) {
    #scrollToTop.scroll-to-top,
    #scrollToTop {
        width: 56px;
        height: 56px;
        border-radius: 28px;
        bottom: 88px;
        right: 16px;
    }

    #scrollToTop .scroll-to-top__icon,
    #scrollToTop svg {
        width: 13px;
        height: 15px;
    }
}

@media screen and (max-width: 575px) {
    #scrollToTop.scroll-to-top,
    #scrollToTop {
        width: 48px;
        height: 48px;
        border-radius: 24px;
        bottom: 72px;
        right: 12px;
    }

    #scrollToTop .scroll-to-top__icon,
    #scrollToTop svg {
        width: 13px;
        height: 15px;
    }
}


.product-teaser {
    display: flex;
    gap: 50px;
}

.product-teaser .product-teaser-image {
    max-width: 500px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider {
    margin: 0 0 10px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
    max-width: 500px;
    min-width: 500px;
    max-height: 500px;
    min-height: 500px;
    object-fit: cover;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable {
    margin: 0 -5px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide {
    margin: 0 5px;
    max-width: 118px;
    min-width: 118px;
    max-height: 118px;
    min-height: 118px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
    max-width: 118px;
    min-width: 118px;
    max-height: 118px;
    min-height: 118px;
    object-fit: cover;
}

.product-teaser .product-teaser-info {
    max-width: 500px;
}


.product-teaser-meta {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    margin-bottom: 0.75rem;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .product-teaser-meta {
        gap: 12px;
    }
}

.product-teaser-meta__col {
    min-width: 0;
    box-sizing: border-box;
}

.product-teaser-meta__col--term {
    flex: 0 0 60%;
    width: 60%;
    max-width: 60%;
}

.product-teaser-meta__col--price {
    flex: 0 0 40%;
    width: 40%;
    max-width: 40%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: flex-start;
    text-align: left;
    min-width: 0;
    margin-left: 12px;
}

.product-teaser-meta__label--cost {
    width: 100%;
    text-align: left;
}

.product-teaser-meta__label--term {
    white-space: nowrap;
}

.product-teaser-meta__label {
    font-family: var(--vesta-font-body);
    font-size: 12px;
    font-weight: 400;
    color: #8a9094;
    line-height: 1.3;
    margin-bottom: 4px;
}

.product-teaser-meta__value {
    font-family: var(--vesta-font-body);
    font-size: 17px;
    font-weight: 600;
    color: var(--vesta-text);
    line-height: 1.25;
}

.product-teaser-meta__value--price {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.product-teaser-meta__value--price:not(:has(.product-teaser-price-row)) {
    white-space: nowrap;
}

.product-teaser-meta__value--price .product-teaser-price-prefix {
    flex-shrink: 0;
    font-weight: 600;
    white-space: nowrap;
}


.product-teaser-meta__value--price > .field {
    display: inline-block;
    margin: 0;
    min-width: 0;
    text-align: left;
}

.product-teaser-meta__value--price > .field .field__item {
    display: inline;
}


.product-teaser-meta__value--price:has(.product-teaser-price-row) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    white-space: normal;
    width: 100%;
    max-width: 100%;
}

.product-teaser-meta__value--price .product-teaser-price-row {
    width: 100%;
    max-width: 100%;
    margin: 0;
    justify-content: flex-start;
}

.product-teaser-meta__value--price .product-teaser-price-row .col-lg-6 {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}

@media (max-width: 767px) {
    .product-teaser-meta__value {
        font-size: 15px;
    }
}

.product-teaser-cart {
    margin-top: 0.75rem;
}

/* Каталог на главной */
.wrapper_catalog {
    position: relative;
    padding: 48px 0 56px;
    background: #f9f9f9;
    overflow: visible;
    
    --catalog-pad-top: 48px;
    --catalog-head-stack: 59px;
    --catalog-head-gap: 28px;
    --catalog-card-min: 390px;
    --catalog-row-gap: 30px;
    
    --catalog-deco-wide-h: min(68px, max(41px, min(118px, 15vw) * 4 / 7));
}


.wrapper_catalog::before,
.wrapper_catalog::after {
    content: '';
    position: absolute;
    z-index: 0;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.55;
}


.wrapper_catalog::before {
    top: calc(var(--catalog-pad-top) + var(--catalog-head-stack) + var(--catalog-head-gap));
    width: clamp(40px, 7.5vw, 68px);
    aspect-ratio: 4 / 7;
    background-image: url('../image/catalog-deco-tall.png');
}


.wrapper_catalog::after {
    top: calc(var(--catalog-pad-top) + var(--catalog-head-stack) + var(--catalog-head-gap) + (2 * var(--catalog-card-min)) + var(--catalog-row-gap) - var(--catalog-deco-wide-h) + 40px);
    bottom: auto;
    width: clamp(72px, 15vw, 118px);
    aspect-ratio: 7 / 4;
    background-image: url('../image/catalog-deco-wide.png');
}


@media (min-width: 768px) {
    .wrapper_catalog::before {
        left: calc(50% - min(600px, calc(50% - 24px)) + 10px);
        transform: translateX(calc(-100% - 1px));
    }

    .wrapper_catalog::after {
        right: calc(50% - min(600px, calc(50% - 24px)));
        transform: translateX(calc(100% + 1px));
    }
}

@media (max-width: 991px) {
    .wrapper_catalog {
        --catalog-pad-top: 36px;
    }
}

@media (max-width: 767px) {
    .wrapper_catalog::before,
    .wrapper_catalog::after {
        opacity: 0.35;
    }

    .wrapper_catalog {
        --catalog-head-stack: 54px;
        --catalog-head-gap: 22px;
    }

    .wrapper_catalog::before {
        left: calc(clamp(4px, 2vw, 14px) + 10px);
        transform: none;
        top: calc(var(--catalog-pad-top) + var(--catalog-head-stack) + var(--catalog-head-gap));
        width: clamp(32px, 12vw, 52px);
    }

    
    .wrapper_catalog::after {
        right: clamp(4px, 2vw, 14px);
        transform: none;
        top: auto;
        bottom: max(16px, calc(clamp(40px, 12vw, 72px) - 40px));
        width: clamp(56px, 20vw, 88px);
    }
}

@media (max-width: 1199px) {
    .wrapper_catalog::before,
    .wrapper_catalog::after {
        content: none;
    }
}

.wrapper_catalog > .container {
    position: relative;
    z-index: 1;
}


.vesta-section-head {
    display: grid;
    grid-template-rows: auto auto;
    justify-items: start;
    gap: 5px;
    width: 100%;
    max-width: 1170px;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 28px;
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
    text-align: left;
    box-sizing: border-box;
}

.vesta-section-head h3 {
    grid-row: 1;
    margin: 0;
    width: 100%;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
}

.vesta-section-head h2 {
    grid-row: 2;
    margin: 0;
    width: 100%;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--vesta-dark);
}


.vesta-section-head h3.field--name-field-zagolovok,
.block-block-content h3.field--name-field-zagolovok {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
}

.vesta-section-head h2.field--name-field-podzagolovok,
.block-block-content h2.field--name-field-podzagolovok {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--vesta-dark);
}

@media (max-width: 991px) {
    .vesta-section-head h2,
    .vesta-section-head h2.field--name-field-podzagolovok,
    .block-block-content h2.field--name-field-podzagolovok,
    .vesta-section-head > article .field--name-field-podzagolovok .field__item,
    .vesta-section-head:not(:has(> article)) > .field--name-field-podzagolovok .field__item {
        font-size: 22px;
        line-height: 28px;
    }
}

@media (max-width: 575px) {
    .vesta-section-head {
        margin-bottom: 22px;
    }

    .vesta-section-head h2,
    .vesta-section-head h2.field--name-field-podzagolovok,
    .block-block-content h2.field--name-field-podzagolovok,
    .vesta-section-head > article .field--name-field-podzagolovok .field__item,
    .vesta-section-head:not(:has(> article)) > .field--name-field-podzagolovok .field__item {
        font-size: 20px;
        line-height: 26px;
    }
}


.vesta-section-head:has(> article) {
    display: block;
    padding-left: 0;
    padding-right: 0;
}

.vesta-section-head > article {
    display: grid;
    grid-template-rows: auto auto;
    justify-items: start;
    gap: 5px;
    width: 100%;
    max-width: 1170px;
    margin-left: 0;
    margin-right: auto;
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
    text-align: left;
    box-sizing: border-box;
}

.vesta-section-head > article .field--name-field-zagolovok,
.vesta-section-head:not(:has(> article)) > .field--name-field-zagolovok {
    grid-row: 1;
    margin: 0;
    width: 100%;
}

.vesta-section-head > article .field--name-field-podzagolovok,
.vesta-section-head:not(:has(> article)) > .field--name-field-podzagolovok {
    grid-row: 2;
    margin: 0;
    width: 100%;
}

.vesta-section-head > article .field--name-field-zagolovok .field__item,
.vesta-section-head:not(:has(> article)) > .field--name-field-zagolovok .field__item {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
}

.vesta-section-head > article .field--name-field-podzagolovok .field__item,
.vesta-section-head:not(:has(> article)) > .field--name-field-podzagolovok .field__item {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--vesta-dark);
}


.block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) > article {
    display: grid;
    grid-template-rows: auto auto;
    justify-items: start;
    gap: 5px;
    width: 100%;
    max-width: 1170px;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 28px;
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
    text-align: left;
    box-sizing: border-box;
}

.block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) > article .field--name-field-zagolovok {
    grid-row: 1;
    margin: 0;
    width: 100%;
}

.block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) > article .field--name-field-podzagolovok {
    grid-row: 2;
    margin: 0;
    width: 100%;
}

.block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) > article .field--name-field-zagolovok .field__item {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
}

.block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) > article .field--name-field-podzagolovok .field__item {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--vesta-dark);
}

@media (max-width: 991px) {
    .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) > article .field--name-field-podzagolovok .field__item {
        font-size: 22px;
        line-height: 28px;
    }
}

@media (max-width: 575px) {
    .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) > article {
        margin-bottom: 22px;
    }

    .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) > article .field--name-field-podzagolovok .field__item {
        font-size: 20px;
        line-height: 26px;
    }
}


.block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok):not(:has(> article)) {
    display: grid;
    grid-template-rows: auto auto;
    justify-items: start;
    gap: 5px;
    width: 100%;
    max-width: 1170px;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 28px;
    padding-right: clamp(16px, 4vw, 24px);
    text-align: left;
    box-sizing: border-box;
}

.block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok):not(:has(> article)) .field--name-field-zagolovok {
    grid-row: 1;
    margin: 0;
    width: 100%;
}

.block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok):not(:has(> article)) .field--name-field-podzagolovok {
    grid-row: 2;
    margin: 0;
    width: 100%;
}

.block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok):not(:has(> article)) .field--name-field-zagolovok .field__item {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
}

.block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok):not(:has(> article)) .field--name-field-podzagolovok .field__item {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--vesta-dark);
}

@media (max-width: 991px) {
    .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok):not(:has(> article)) .field--name-field-podzagolovok .field__item {
        font-size: 22px;
        line-height: 28px;
    }
}

@media (max-width: 575px) {
    .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok):not(:has(> article)) {
        margin-bottom: 22px;
    }

    .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok):not(:has(> article)) .field--name-field-podzagolovok .field__item {
        font-size: 20px;
        line-height: 26px;
    }
}


.wrapper_about .vesta-section-head:has(article),
.wrapper_about .block-block-content.vesta-section-head:has(article) {
    text-align: center;
}

.wrapper_about .vesta-section-head article,
.wrapper_about .block-block-content.vesta-section-head article {
    display: grid;
    grid-template-rows: auto auto;
    justify-items: center;
    gap: 5px;
    width: 100%;
    max-width: 670px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    box-sizing: border-box;
}


.wrapper_about .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) > article,
.wrapper_about .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) article {
    margin-bottom: 0;
}

.wrapper_about .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok):not(:has(article)) {
    margin-bottom: 0;
}

.wrapper_about .vesta-section-head:not(:has(article)),
.wrapper_about .block-block-content.vesta-section-head:not(:has(article)) {
    display: grid;
    justify-items: center;
    text-align: center;
    max-width: 670px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}

.wrapper_about .vesta-section-head h3.field--name-field-zagolovok,
.wrapper_about .vesta-section-head article .field--name-field-zagolovok .field__item,
.wrapper_about .block-block-content.vesta-section-head h3.field--name-field-zagolovok,
.wrapper_about .block-block-content.vesta-section-head article .field--name-field-zagolovok .field__item {
    color: var(--vesta-muted);
    text-align: center;
}

.wrapper_about .vesta-section-head h2.field--name-field-podzagolovok,
.wrapper_about .vesta-section-head article .field--name-field-podzagolovok .field__item,
.wrapper_about .block-block-content.vesta-section-head h2.field--name-field-podzagolovok,
.wrapper_about .block-block-content.vesta-section-head article .field--name-field-podzagolovok .field__item {
    text-align: center;
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}


.wrapper_about .region-about {
    text-align: center;
}


.wrapper_about > .container [class*="region"] > .block.block-block-content.vesta-section-head,
.wrapper_about > .container [class*="region"] > .block.block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) {
    margin-bottom: 0;
}

.wrapper_about .region-about > .block,
.wrapper_about .region-about > .views-element-container {
    width: 100%;
    max-width: 670px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.wrapper_about .region-about .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) article,
.wrapper_about .region-about .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) > article {
    display: grid;
    grid-template-rows: auto auto;
    justify-items: center;
    gap: 5px;
    width: 100%;
    max-width: 670px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    box-sizing: border-box;
}

.wrapper_about .region-about .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok):not(:has(article)) {
    display: grid;
    justify-items: center;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    max-width: 670px;
}

.wrapper_about .region-about h3.field--name-field-zagolovok.field__item {
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    color: var(--vesta-muted);
}


.wrapper_about .region-about h2.field--name-field-podzagolovok.field__item {
    text-align: center;
    max-width: 70%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}


.wrapper_catalog .block__title,
.wrapper_catalog :is(.view-catalog, .view-tovary) > .view-header .view-title {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--vesta-dark);
    margin: 0 0 28px;
    text-align: left;
}

.wrapper_catalog :is(.view-catalog, .view-tovary) > .view-header {
    text-align: left;
}

.wrapper_catalog .catalog-section__eyebrow {
    display: block;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
    margin: 0 0 5px;
    text-align: left;
}


.wrapper_catalog :is(.view-catalog, .view-tovary) .view-content.row,
body.vesta-catalog-section :is(.view-catalog, .view-tovary) .view-content.row {
    --catalog-gutter-x: 15px;
    --catalog-row-spacing: 30px;
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(-1 * var(--catalog-gutter-x));
    margin-right: calc(-1 * var(--catalog-gutter-x));
    align-content: flex-start;
    justify-content: flex-start;
}

.wrapper_catalog :is(.view-catalog, .view-tovary) .view-content.row > .views-row,
body.vesta-catalog-section :is(.view-catalog, .view-tovary) .view-content.row > .views-row {
    box-sizing: border-box;
    padding-left: var(--catalog-gutter-x);
    padding-right: var(--catalog-gutter-x);
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    width: 100%;
    min-width: 0;
    margin-bottom: var(--catalog-row-spacing);
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
}

@media (max-width: 991px) {
    .wrapper_catalog :is(.view-catalog, .view-tovary) .view-content.row > .views-row,
    body.vesta-catalog-section :is(.view-catalog, .view-tovary) .view-content.row > .views-row {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (max-width: 1199px) {
    .wrapper_catalog :is(.view-catalog, .view-tovary) .view-content.row,
    body.vesta-catalog-section :is(.view-catalog, .view-tovary) .view-content.row {
        --catalog-row-spacing: 15px;
    }
}


@media (max-width: 767px) {
    .wrapper_catalog :is(.view-catalog, .view-tovary) .view-content.row,
    body.vesta-catalog-section :is(.view-catalog, .view-tovary) .view-content.row {
        --catalog-gutter-x: 8px;
        --catalog-row-spacing: 16px;
    }

    .wrapper_catalog .catalog-card.ds-catalog-card,
    .wrapper_catalog .product-teaser.ds-1col {
        max-width: none;
        width: 100%;
        min-height: 0;
    }

    .wrapper_catalog .catalog-card__media img,
    .wrapper_catalog .catalog-card__media picture img,
    .wrapper_catalog .product-teaser .group-img img {
        height: clamp(120px, 28vw, 180px);
    }

    .wrapper_catalog .product-teaser-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .wrapper_catalog .product-teaser-meta__col--term,
    .wrapper_catalog .product-teaser-meta__col--price {
        flex: none;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
    }

    .wrapper_catalog .product-teaser-meta__col--price {
        align-items: flex-start;
        text-align: left;
    }

    .wrapper_catalog .product-teaser-card-title,
    .wrapper_catalog .product-teaser-card-title a,
    .wrapper_catalog .catalog-card__title h2,
    .wrapper_catalog .catalog-card__title a {
        max-width: 19ch;
        white-space: normal;
        overflow-wrap: break-word;
    }

    body:is(.path-front, .front) .wrapper_catalog .product-teaser-card-title,
    body:is(.path-front, .front) .wrapper_catalog .product-teaser-card-title a,
    body:is(.path-front, .front) .wrapper_catalog .catalog-card__title h2,
    body:is(.path-front, .front) .wrapper_catalog .catalog-card__title a,
    body.vesta-catalog-section .wrapper_catalog .product-teaser-card-title,
    body.vesta-catalog-section .wrapper_catalog .product-teaser-card-title a,
    body.vesta-catalog-section .wrapper_catalog .catalog-card__title h2,
    body.vesta-catalog-section .wrapper_catalog .catalog-card__title a {
        max-width: none;
        width: 100%;
    }
}


@media (min-width: 992px) and (max-width: 1199px) {
    .wrapper_catalog {
        --catalog-card-min: 280px;
    }

    .wrapper_catalog .catalog-card.ds-catalog-card,
    .wrapper_catalog .product-teaser.ds-1col {
        min-height: 390px;
    }

    body:is(.path-front, .front) .wrapper_catalog .product-teaser.ds-1col,
    body:is(.path-front, .front) .wrapper_catalog .catalog-card.ds-catalog-card,
    body.vesta-catalog-section .wrapper_catalog .product-teaser.ds-1col,
    body.vesta-catalog-section .wrapper_catalog .catalog-card.ds-catalog-card,
    body.vesta-catalog-section :is(.view-catalog, .view-tovary) .product-teaser.ds-1col,
    body.vesta-catalog-section :is(.view-catalog, .view-tovary) .catalog-card.ds-catalog-card {
        min-height: 0;
    }

    .wrapper_catalog .catalog-card__media img,
    .wrapper_catalog .catalog-card__media picture img,
    .wrapper_catalog .product-teaser .group-img img {
        height: 212px;
    }

    .wrapper_catalog .catalog-card__body,
    .wrapper_catalog .product-teaser .group-down {
        padding: 13px;
        gap: 20px;
    }

    
    .wrapper_catalog .product-teaser-meta__label,
    .wrapper_catalog .product-teaser-meta__label--term,
    .wrapper_catalog .product-teaser-meta__label--cost {
        font-size: 14px;
        line-height: 1.3;
    }

    .wrapper_catalog .product-teaser-meta__value,
    .wrapper_catalog .product-teaser-meta__value--price,
    .wrapper_catalog .product-teaser-price-prefix {
        font-size: 18px;
        line-height: 1.25;
    }
}


.wrapper_catalog .catalog-card.ds-catalog-card,
.wrapper_catalog .product-teaser.ds-1col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    width: 100%;
    max-width: none;
    min-height: 390px;
    height: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    flex: 1 1 auto;
    min-width: 0;
    box-shadow: 3px 2px 20px 4px rgba(140, 148, 162, 0.2);
    background: #fff;
    overflow: hidden;
}

body.vesta-catalog-section :is(.view-catalog, .view-tovary) .view-content.row .catalog-card.ds-catalog-card,
body.vesta-catalog-section :is(.view-catalog, .view-tovary) .view-content.row .product-teaser.ds-1col {
    max-width: none;
    width: 100%;
    flex: 1 1 auto;
    min-width: 0;
    align-self: stretch;
}

.wrapper_catalog .catalog-card__media,
.wrapper_catalog .product-teaser .group-img {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    align-self: stretch;
    overflow: hidden;
    background: #f0f0f0;
}

.wrapper_catalog .catalog-card__media img,
.wrapper_catalog .catalog-card__media picture img,
.wrapper_catalog .product-teaser .group-img img {
    width: 100%;
    height: 212px;
    object-fit: cover;
    display: block;
}

.wrapper_catalog .catalog-card__body,
.wrapper_catalog .product-teaser .group-down {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    min-height: 0;
    padding: 13px;
    gap: 20px;
    background: #fff;
    box-sizing: border-box;
}

.wrapper_catalog .catalog-card.ds-catalog-card .catalog-card__cta-wrap {
    margin-top: auto;
}

.wrapper_catalog .catalog-card__title h2,
.wrapper_catalog .catalog-card__title a,
.wrapper_catalog .product-teaser-card-title,
.wrapper_catalog .product-teaser-card-title a {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 14px;
    line-height: 22px;
    color: var(--vesta-dark);
    margin: 0;
    text-decoration: none;
}

.wrapper_catalog .product-teaser-card-title a:hover,
.wrapper_catalog .catalog-card__title a:hover {
    color: var(--vesta-dark);
    text-decoration: underline;
}

/* Карточки каталога без меты */
body:is(.path-front, .front) .wrapper_catalog .product-teaser-meta,
body.vesta-catalog-section .product-teaser-meta {
    display: none;
}

body:is(.path-front, .front) .wrapper_catalog .product-teaser-card-title,
body:is(.path-front, .front) .wrapper_catalog .product-teaser-card-title a,
body:is(.path-front, .front) .wrapper_catalog .catalog-card__title h2,
body:is(.path-front, .front) .wrapper_catalog .catalog-card__title a,
body.vesta-catalog-section .product-teaser-card-title,
body.vesta-catalog-section .product-teaser-card-title a,
body.vesta-catalog-section .catalog-card__title h2,
body.vesta-catalog-section .catalog-card__title a {
    width: 100%;
    max-width: none;
    align-self: stretch;
    box-sizing: border-box;
}

.wrapper_catalog .product-teaser {
    flex-wrap: nowrap;
    gap: 0;
}

.wrapper_catalog .product-teaser .group-up {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    align-self: stretch;
}

.wrapper_catalog .product-teaser .product-teaser-cart {
    width: 100%;
    margin-top: auto;
}

/* Кнопки каталога по низу */
body:is(.path-front, .front) .wrapper_catalog .product-teaser.ds-1col,
body:is(.path-front, .front) .wrapper_catalog .catalog-card.ds-catalog-card,
body.vesta-catalog-section :is(.view-catalog, .view-tovary) .product-teaser.ds-1col,
body.vesta-catalog-section :is(.view-catalog, .view-tovary) .catalog-card.ds-catalog-card,
body.vesta-catalog-section .wrapper_catalog .product-teaser.ds-1col,
body.vesta-catalog-section .wrapper_catalog .catalog-card.ds-catalog-card {
    min-height: 0;
}

body.vesta-catalog-section :is(.view-catalog, .view-tovary) .catalog-card.ds-catalog-card .catalog-card__cta-wrap {
    margin-top: auto;
}

body:is(.path-front, .front) .wrapper_catalog .product-teaser .group-down,
body:is(.path-front, .front) .wrapper_catalog .catalog-card__body,
body.vesta-catalog-section .product-teaser .group-down,
body.vesta-catalog-section .catalog-card__body {
    gap: 10px;
}

.wrapper_catalog .product-teaser-meta__label {
    font-size: 17px;
    line-height: 20px;
    color: #aeaeae;
}

.wrapper_catalog .product-teaser-meta__value {
    font-size: 20px;
    line-height: 23px;
    font-weight: 600;
    color: var(--vesta-dark);
}


.product-teaser__cta-modal {
    display: none;
}

.wrapper_catalog .product-teaser__cta-modal,
.wrapper_catalog .catalog-card__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    padding: 15px 12px;
    margin-top: auto;
    box-sizing: border-box;
    font-family: var(--vesta-font-heading);
    font-weight: 400;
    font-size: 17px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    color: var(--vesta-dark);
    background: transparent;
    border: 1px solid var(--vesta-dark);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.wrapper_catalog .product-teaser__cta-modal {
    margin-top: 0;
    width: 100%;
}

.wrapper_catalog .product-teaser__cta-modal:hover,
.wrapper_catalog .product-teaser__cta-modal:focus-visible,
.wrapper_catalog .catalog-card__cta:hover,
.wrapper_catalog .catalog-card__cta:focus-visible {
    text-decoration: none;
    color: var(--vesta-dark);
    background: var(--vesta-accent);
    border-color: var(--vesta-accent);
}

#app #main :is(.view-catalog, .view-id-catalog, .view-tovary, .view-id-tovary) :is(.catalog-card__cta, a.catalog-card__cta, .product-teaser__cta-modal, a.product-teaser__cta-modal),
#app #main .wrapper_catalog :is(.catalog-card__cta, a.catalog-card__cta, .product-teaser__cta-modal, a.product-teaser__cta-modal),
#app #main :is(.product-full__cta-btn, a.product-full__cta-btn) {
    font-family: var(--vesta-font-heading);
}

.wrapper_catalog .product-teaser__cta-modal-wrap,
.wrapper_catalog .catalog-card__cta-wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: visible;
}

.wrapper_catalog .product-teaser__cta-modal-wrap .ajax-progress,
.wrapper_catalog .catalog-card__cta-wrap .ajax-progress {
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    float: none;
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.wrapper_catalog .product-teaser__cta-modal-wrap .ajax-progress .throbber,
.wrapper_catalog .product-teaser__cta-modal-wrap .ajax-progress .message,
.wrapper_catalog .catalog-card__cta-wrap .ajax-progress .throbber,
.wrapper_catalog .catalog-card__cta-wrap .ajax-progress .message {
    margin: 0;
}


.wrapper_catalog .product-teaser-cart .form-actions,
.wrapper_catalog .product-teaser-cart input[type="submit"].form-submit,
.wrapper_catalog .product-teaser-cart button[type="submit"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.wrapper_catalog .product-teaser-cart form.commerce-order-item-add-to-cart-form {
    position: relative;
}


.wrapper_catalog .commerce-order-item-add-to-cart-form .form-item-quantity,
.wrapper_catalog .commerce-order-item-add-to-cart-form .js-form-item-quantity,
.wrapper_catalog .commerce-order-item-add-to-cart-form .field--name-quantity {
    display: none !important;
}


:is(.wrapper_catalog, .wr_front_content) .view ul.pager.js-pager__items,
:is(.wrapper_catalog, .wr_front_content) .view ul[data-drupal-views-infinite-scroll-pager] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 36px 0 0;
    padding: 15px 0;
    gap: 28px;
    list-style: none;
    text-align: center;
    border: none;
    overflow: visible;
    box-sizing: border-box;
}

.wrapper_catalog :is(.view-catalog, .view-tovary) .pager {
    margin: 36px 0 0;
    padding: 0;
    list-style: none;
    text-align: center;
    border: none;
    overflow: visible;
}

.wrapper_catalog :is(.view-catalog, .view-tovary) nav.pager,
.wrapper_catalog :is(.view-catalog, .view-tovary) ul.js-pager__items,
.wrapper_catalog .view ul.js-pager__items,
.wrapper_catalog :is(.view-catalog, .view-tovary) .view-footer {
    overflow: visible;
}


.wrapper_catalog :is(.view-catalog, .view-tovary) .pager__item,
.wrapper_catalog .view .pager__item {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    overflow: visible;
    vertical-align: middle;
}

.wrapper_catalog :is(.view-catalog, .view-tovary) .pager__item a,
.wrapper_catalog .view .pager__item a {
    margin: 0;
}


:is(.wrapper_catalog, .wr_front_content) .view ul.pager.js-pager__items a,
:is(.wrapper_catalog, .wr_front_content) .view ul.pager.js-pager__items a.button,
:is(.wrapper_catalog, .wr_front_content) .view ul[data-drupal-views-infinite-scroll-pager] a,
:is(.wrapper_catalog, .wr_front_content) .view ul[data-drupal-views-infinite-scroll-pager] a.button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: none;
    flex-grow: 0;
    box-sizing: border-box;
    width: 245px;
    min-width: 245px;
    max-width: 245px;
    height: 50px;
    min-height: 50px;
    max-height: 50px;
    margin: 0;
    padding: 0 12px;
    font-family: var(--vesta-font-heading);
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    color: var(--vesta-dark);
    background: var(--vesta-accent);
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

:is(.wrapper_catalog, .wr_front_content) .view ul.pager.js-pager__items a:hover,
:is(.wrapper_catalog, .wr_front_content) .view ul.pager.js-pager__items a:focus-visible,
:is(.wrapper_catalog, .wr_front_content) .view ul[data-drupal-views-infinite-scroll-pager] a:hover,
:is(.wrapper_catalog, .wr_front_content) .view ul[data-drupal-views-infinite-scroll-pager] a:focus-visible {
    text-decoration: none;
    color: var(--vesta-dark);
    background: var(--vesta-accent-hover);
}

:is(.wrapper_catalog, .wr_front_content) .view ul.pager.js-pager__items a:focus-visible,
:is(.wrapper_catalog, .wr_front_content) .view ul[data-drupal-views-infinite-scroll-pager] a:focus-visible {
    outline: 2px solid var(--vesta-dark);
    outline-offset: 2px;
}

.wrapper_catalog :is(.view-catalog, .view-tovary) .pager__item .ajax-progress,
.wrapper_catalog :is(.view-catalog, .view-tovary) .pager__item .ajax-progress.ajax-progress-throbber,
.wrapper_catalog :is(.view-catalog, .view-tovary) ul.js-pager__items .ajax-progress,
.wrapper_catalog .view .pager__item .ajax-progress,
:is(.wrapper_catalog, .wr_front_content) .view ul.pager.js-pager__items .ajax-progress,
:is(.wrapper_catalog, .wr_front_content) .view ul[data-drupal-views-infinite-scroll-pager] .ajax-progress {
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    float: none;
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.wrapper_catalog :is(.view-catalog, .view-tovary) .pager__item .ajax-progress .throbber,
.wrapper_catalog :is(.view-catalog, .view-tovary) .pager__item .ajax-progress .message,
.wrapper_catalog .view .pager__item .ajax-progress .throbber,
.wrapper_catalog .view .pager__item .ajax-progress .message {
    margin: 0;
}

@media (max-width: 575px) {
    :is(.wrapper_catalog, .wr_front_content) .view ul.pager.js-pager__items a,
    :is(.wrapper_catalog, .wr_front_content) .view ul.pager.js-pager__items a.button,
    :is(.wrapper_catalog, .wr_front_content) .view ul[data-drupal-views-infinite-scroll-pager] a,
    :is(.wrapper_catalog, .wr_front_content) .view ul[data-drupal-views-infinite-scroll-pager] a.button {
        width: 100%;
        min-width: 0;
        max-width: min(245px, 100%);
    }
}


.view-tovary > .more-link,
.view-tovary .more-link,
.view-id-tovary > .more-link,
.view-id-tovary .more-link,
.block[class*='views-block-tovary'] .more-link {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 36px 0 0;
    padding: 15px 0;
    gap: 28px;
    box-sizing: border-box;
}

.view-tovary .more-link a,
.view-id-tovary .more-link a,
.block[class*='views-block-tovary'] .more-link a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: none;
    flex-grow: 0;
    box-sizing: border-box;
    width: 245px;
    min-width: 245px;
    max-width: 245px;
    height: 50px;
    min-height: 50px;
    max-height: 50px;
    margin: 0;
    padding: 0 12px;
    font-family: var(--vesta-font-heading);
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    color: var(--vesta-dark);
    background: var(--vesta-accent);
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.view-tovary .more-link a:hover,
.view-tovary .more-link a:focus-visible,
.view-id-tovary .more-link a:hover,
.view-id-tovary .more-link a:focus-visible,
.block[class*='views-block-tovary'] .more-link a:hover,
.block[class*='views-block-tovary'] .more-link a:focus-visible {
    text-decoration: none;
    color: var(--vesta-dark);
    background: var(--vesta-accent-hover);
}

.view-tovary .more-link a:focus-visible,
.view-id-tovary .more-link a:focus-visible,
.block[class*='views-block-tovary'] .more-link a:focus-visible {
    outline: 2px solid var(--vesta-dark);
    outline-offset: 2px;
}

@media (max-width: 575px) {
    .view-tovary .more-link a,
    .view-id-tovary .more-link a,
    .block[class*='views-block-tovary'] .more-link a {
        width: 100%;
        min-width: 0;
        max-width: min(245px, 100%);
    }
}

.wrapper_catalog .product-teaser .group-btn {
    display: none;
}

@media (max-width: 991px) {
    .wrapper_catalog {
        padding: 36px 0 40px;
    }

    .wrapper_catalog .block__title,
    .wrapper_catalog :is(.view-catalog, .view-tovary) > .view-header .view-title {
        font-size: 22px;
        line-height: 28px;
    }
}

@media (max-width: 574px) {
    .wrapper_catalog .catalog-card.ds-catalog-card,
    .wrapper_catalog .product-teaser.ds-1col,
    body.vesta-catalog-section .catalog-card.ds-catalog-card,
    body.vesta-catalog-section .product-teaser.ds-1col {
        min-height: 0;
    }
}


@media (max-width: 574px) {
    .wrapper_catalog :is(.view-catalog, .view-tovary) .view-content.row,
    body.vesta-catalog-section :is(.view-catalog, .view-tovary) .view-content.row {
        --catalog-gutter-x: 4px;
        --catalog-row-spacing: 8px;
    }

    .wrapper_catalog .block__title,
    .wrapper_catalog :is(.view-catalog, .view-tovary) > .view-header .view-title,
    body.vesta-catalog-section :is(.view-catalog, .view-tovary) > .view-header .view-title,
    body.vesta-catalog-section :is(.view-catalog, .view-id-catalog) > .view-header .view-title,
    body.vesta-catalog-section :is(.view-tovary, .view-id-tovary) > .view-header .view-title {
        font-size: 16px;
        line-height: 20px;
        margin-bottom: 16px;
    }

    .wrapper_catalog .catalog-section__eyebrow,
    body.vesta-catalog-section .catalog-section__eyebrow {
        font-size: 12px;
        line-height: 16px;
    }

    .wrapper_catalog .catalog-card__media,
    .wrapper_catalog .product-teaser .group-img,
    body.vesta-catalog-section .catalog-card__media,
    body.vesta-catalog-section .product-teaser .group-img {
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box;
    }

    .wrapper_catalog .catalog-card__media img,
    .wrapper_catalog .catalog-card__media picture img,
    .wrapper_catalog .product-teaser .group-img img,
    body.vesta-catalog-section .catalog-card__media img,
    body.vesta-catalog-section .catalog-card__media picture img,
    body.vesta-catalog-section .product-teaser .group-img img {
        width: 100%;
        height: 212px;
        max-height: min(212px, 52vw);
        object-fit: cover;
        object-position: center center;
        display: block;
    }

    .wrapper_catalog .catalog-card__body,
    .wrapper_catalog .product-teaser .group-down,
    body.vesta-catalog-section .catalog-card__body,
    body.vesta-catalog-section .product-teaser .group-down {
        padding: 8px 10px;
        gap: 10px;
    }

    .wrapper_catalog .product-teaser-card-title,
    .wrapper_catalog .product-teaser-card-title a,
    .wrapper_catalog .catalog-card__title h2,
    .wrapper_catalog .catalog-card__title a,
    body.vesta-catalog-section .product-teaser-card-title,
    body.vesta-catalog-section .product-teaser-card-title a,
    body.vesta-catalog-section .catalog-card__title h2,
    body.vesta-catalog-section .catalog-card__title a {
        font-size: 10px;
        line-height: 10px;
        max-width: none;
    }

    .wrapper_catalog .product-teaser-meta__label,
    .wrapper_catalog .product-teaser-meta__label--term,
    .wrapper_catalog .product-teaser-meta__label--cost,
    body.vesta-catalog-section .product-teaser-meta__label,
    body.vesta-catalog-section .product-teaser-meta__label--term,
    body.vesta-catalog-section .product-teaser-meta__label--cost {
        font-size: 12px;
        line-height: 15px;
    }

    .wrapper_catalog .product-teaser-meta__value,
    .wrapper_catalog .product-teaser-meta__value--price,
    .wrapper_catalog .product-teaser-price-prefix,
    body.vesta-catalog-section .product-teaser-meta__value,
    body.vesta-catalog-section .product-teaser-meta__value--price,
    body.vesta-catalog-section .product-teaser-price-prefix {
        font-size: 14px;
        line-height: 18px;
    }

    .wrapper_catalog .product-teaser__cta-modal,
    .wrapper_catalog .catalog-card__cta,
    body.vesta-catalog-section .product-teaser__cta-modal,
    body.vesta-catalog-section .catalog-card__cta {
        font-size: 12px;
        line-height: 16px;
        min-height: 40px;
        padding: 8px 0px;
    }

    .wrapper_catalog .view ul.pager.js-pager__items a,
    .wrapper_catalog .view ul.pager.js-pager__items a.button,
    .wrapper_catalog .view ul[data-drupal-views-infinite-scroll-pager] a,
    .wrapper_catalog .view ul[data-drupal-views-infinite-scroll-pager] a.button,
    body.vesta-catalog-section .view ul.pager.js-pager__items a,
    body.vesta-catalog-section .view ul.pager.js-pager__items a.button,
    body.vesta-catalog-section .view ul[data-drupal-views-infinite-scroll-pager] a,
    body.vesta-catalog-section .view ul[data-drupal-views-infinite-scroll-pager] a.button {
        font-size: 12px;
        line-height: 16px;
    }

    .wrapper_catalog :is(.view-tovary, .view-id-tovary) .more-link a,
    .wrapper_catalog .block[class*='views-block-tovary'] .more-link a,
    body.vesta-catalog-section :is(.view-tovary, .view-id-tovary) .more-link a,
    body.vesta-catalog-section .block[class*='views-block-tovary'] .more-link a {
        font-size: 14px;
        line-height: 16px;
    }

    .wrapper_catalog .product-teaser-meta__label--term,
    body.vesta-catalog-section .product-teaser-meta__label--term {
        white-space: normal;
    }
}


body.vesta-catalog-section .product-teaser-cart .form-actions,
body.vesta-catalog-section .product-teaser-cart input[type="submit"].form-submit,
body.vesta-catalog-section .product-teaser-cart button[type="submit"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

body.vesta-catalog-section .product-teaser-cart form.commerce-order-item-add-to-cart-form {
    position: relative;
}


body.vesta-catalog-section .commerce-order-item-add-to-cart-form .form-item-quantity,
body.vesta-catalog-section .commerce-order-item-add-to-cart-form .js-form-item-quantity,
body.vesta-catalog-section .commerce-order-item-add-to-cart-form .field--name-quantity {
    display: none !important;
}


body.vesta-catalog-section .product-teaser__cta-modal {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 0;
    box-sizing: border-box;
    font-family: var(--vesta-font-heading);
    font-weight: 400;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    color: var(--vesta-dark);
    background: transparent;
    border: 1px solid var(--vesta-dark);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

@media (min-width: 575px) {
    body.vesta-catalog-section .product-teaser__cta-modal {
        min-height: 50px;
        padding: 15px 12px;
        font-size: 17px;
        line-height: 20px;
    }
}

body.vesta-catalog-section .product-teaser__cta-modal:hover,
body.vesta-catalog-section .product-teaser__cta-modal:focus-visible {
    text-decoration: none;
    color: var(--vesta-dark);
    background: var(--vesta-accent);
    border-color: var(--vesta-accent);
}

body.vesta-catalog-section .catalog-card__cta,
body.vesta-catalog-section a.catalog-card__cta {
    font-family: var(--vesta-font-heading);
}

body.vesta-catalog-section .product-teaser .group-btn {
    display: none;
}


body.vesta-catalog-section .product-teaser-card-title,
body.vesta-catalog-section .product-teaser-card-title a {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    color: var(--vesta-dark);
    margin: 0;
    text-decoration: none;
}

@media (min-width: 575px) {
    body.vesta-catalog-section .product-teaser-card-title,
    body.vesta-catalog-section .product-teaser-card-title a {
        font-size: 14px;
        line-height: 22px;
    }
}

body.vesta-catalog-section .product-teaser-card-title a:hover {
    color: var(--vesta-dark);
    text-decoration: underline;
}


body.vesta-catalog-section .product-teaser-meta__label {
    font-family: var(--vesta-font-body);
    color: #aeaeae;
}

body.vesta-catalog-section .product-teaser-meta__value {
    font-family: var(--vesta-font-body);
    font-weight: 600;
    color: var(--vesta-dark);
}

@media (min-width: 575px) {
    body.vesta-catalog-section .product-teaser-meta__label {
        font-size: 17px;
        line-height: 20px;
    }

    body.vesta-catalog-section .product-teaser-meta__value {
        font-size: 20px;
        line-height: 23px;
    }
}


.section-services {
    position: relative;
    background: #f9f9f9;
    padding: 48px clamp(16px, 4vw, 24px) 56px;
    box-sizing: border-box;
}

.section-services > .container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 25px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    box-sizing: border-box;
}

@media screen and (min-width: 992px) {
    .section-services > .container {
        min-height: 531px;
    }
}

.section-services .region-services,
.section-services .region.region-services {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;

}

.section-services .block,
.section-services .views-element-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 25px;
}

.section-services .view {
    width: 100%;
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.section-services .block__title,
.section-services .view .view-header .view-title {
    width: 100%;
    max-width: 1170px;
    margin: 0;
    padding: 0;
    text-align: center;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--vesta-dark);
}

.section-services .services-section__eyebrow {
    display: block;
    width: 100%;
    max-width: 1170px;
    margin: 0 0 5px;
    text-align: center;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
}


.section-services .view .view-content {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 30px;
    row-gap: 26px;
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
    align-items: stretch;
}

/* Порядок карточек каталога */
.section-services .view .view-content > .views-row:nth-child(1) {
    order: 1;
}

.section-services .view .view-content > .views-row:nth-child(2) {
    order: 2;
}

.section-services .view .view-content > .views-row:nth-child(3) {
    order: 4;
}

.section-services .view .view-content > .views-row:nth-child(4) {
    order: 3;
}

/* Views в одной строке */
.section-services .view .view-content > .views-row:only-child > .views-col:nth-child(3),
.section-services .view .view-content > .views-row:only-child > div.views-col:nth-child(3) {
    order: 4;
}

.section-services .view .view-content > .views-row:only-child > .views-col:nth-child(4),
.section-services .view .view-content > .views-row:only-child > div.views-col:nth-child(4) {
    order: 3;
}

.section-services .view .view-content > .more-link {
    order: 5;
    grid-column: 1 / -1;
    justify-self: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.section-services .view .views-view-grid > .more-link {
    grid-column: 1 / -1;
    justify-self: stretch;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}


.section-services .view > .more-link,
.section-services .view .view-content + .more-link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: none;
    margin: 26px 0 0;
    box-sizing: border-box;
}

.section-services .view .views-row {
    display: flex;
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
}

.section-services .view .views-row > .views-col,
.section-services .view .views-row > div {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}


.section-services .view .view-content .taxonomy-term,
.section-services .view .view-content article[class*='taxonomy-term'],
.section-services .view .view-content .node--view-mode-teaser,
.section-services .view .view-content .ds-1col {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    box-shadow: 3px 2px 20px 4px rgba(140, 148, 162, 0.2);
    background: #fff;
    height: 100%;
    min-height: 0;
    overflow-wrap: break-word;
    box-sizing: border-box;
}

.section-services .view .view-content .taxonomy-term .content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: max(5px, 13px);
    gap: 20px;
    box-sizing: border-box;
}

.section-services .view .view-content .ds-1col .group-down {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: max(5px, 13px);
    gap: 20px;
    box-sizing: border-box;
}


.section-services .view .view-content .node--view-mode-teaser .node__content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    gap: 20px;
    box-sizing: border-box;
}

.section-services .view .view-content .field--name-field-catalog-image img,
.section-services .view .view-content .field--name-field-image img,
.section-services .view .view-content .field--type-image img,
.section-services .view .view-content .taxonomy-term .field--type-image img,
.section-services .view .view-content .node--view-mode-teaser .field--type-image img {
    width: 100%;
    height: 212px;
    object-fit: cover;
    display: block;
    padding: 0 0 9px;
}

.section-services .view .view-content .taxonomy-term h2,
.section-services .view .view-content .taxonomy-term h3,
.section-services .view .view-content .node--view-mode-teaser > h2,
.section-services .view .view-content .node--view-mode-teaser > h3,
.section-services .view .view-content .node--view-mode-teaser .field--name-node-title h2,
.section-services .view .view-content .node--view-mode-teaser .field--name-node-title h3 {
    font-family: var(--vesta-font-heading);
    font-weight: 600;
    font-size: 14px;
    line-height: 22px;
    color: var(--vesta-dark);
    box-sizing: border-box;
    max-width: 100%;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.section-services .view .view-content .taxonomy-term > h2,
.section-services .view .view-content .taxonomy-term > h3 {
    margin: 0;
    padding: max(5px, 13px) max(5px, 13px) 0;
}

.section-services .view .view-content .node--view-mode-teaser > h2,
.section-services .view .view-content .node--view-mode-teaser > h3 {
    margin: 0;
    padding: max(5px, 13px) max(5px, 13px) 0;
}

.section-services .view .view-content .node--view-mode-teaser .field--name-node-title {
    margin: 0;
    padding: 0 max(5px, 13px) 10px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.section-services .view .view-content .node--view-mode-teaser .field--name-node-title h2,
.section-services .view .view-content .node--view-mode-teaser .field--name-node-title h3 {
    margin: 0;
    padding: 0;
}

.section-services .view .view-content .taxonomy-term h2 a,
.section-services .view .view-content .taxonomy-term h3 a,
.section-services .view .view-content .node--view-mode-teaser > h2 a,
.section-services .view .view-content .node--view-mode-teaser > h3 a,
.section-services .view .view-content .node--view-mode-teaser .field--name-node-title h2 a,
.section-services .view .view-content .node--view-mode-teaser .field--name-node-title h3 a {
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
}


.section-services .view .view-content .node--view-mode-teaser .field--name-body .text-formatted > :first-child,
.section-services .view .view-content .taxonomy-term .field--name-description .text-formatted > :first-child,
.section-services .view .view-content .taxonomy-term .field--type-text-long .text-formatted > :first-child {
    margin-top: 0;
}

.section-services .view .view-content .catalog-card__title {
    margin: 0 0 20px;
}

.section-services .view .view-content .catalog-card__body {
    padding: max(5px, 13px);
    box-sizing: border-box;
}

.section-services .view .view-content .taxonomy-term .field--name-description,
.section-services .view .view-content .taxonomy-term .field--type-text-long,
.section-services .view .view-content .node--view-mode-teaser .field--name-body,
.section-services .view .view-content .node--view-mode-teaser .field--type-text-with-summary,
.section-services .view .view-content .node--view-mode-teaser .field--type-text-long {
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 17px;
    line-height: normal;
    color: var(--vesta-dark);
    box-sizing: border-box;
}

.section-services .view .view-content .taxonomy-term .field--name-description,
.section-services .view .view-content .taxonomy-term .field--type-text-long {
    padding: 0;
    margin: 0;
}

.section-services .view .view-content .node--view-mode-teaser .field--name-body,
.section-services .view .view-content .node--view-mode-teaser .field--type-text-with-summary {
    margin: 0;
    padding: max(5px, 13px);
    box-sizing: border-box;
}

.section-services .view .view-content .node--view-mode-teaser .field--type-text-long:not(.field--name-body) {
    margin: 0;
    padding: max(5px, 13px);
    box-sizing: border-box;
}


.section-services .view .view-content .node--view-mode-teaser h2 + .node__content .field--name-body,
.section-services .view .view-content .node--view-mode-teaser h2 + .node__content .field--type-text-long,
.section-services .view .view-content .node--view-mode-teaser h3 + .node__content .field--name-body,
.section-services .view .view-content .node--view-mode-teaser h3 + .node__content .field--type-text-long,
.section-services .view .view-content .node--view-mode-teaser .node__content h2 ~ .field--name-body,
.section-services .view .view-content .node--view-mode-teaser .node__content h2 ~ .field--type-text-long,
.section-services .view .view-content .node--view-mode-teaser .node__content h3 ~ .field--name-body,
.section-services .view .view-content .node--view-mode-teaser .node__content h3 ~ .field--type-text-long,
.section-services .view .view-content .node--view-mode-teaser .field--name-node-title ~ .field--name-body,
.section-services .view .view-content .node--view-mode-teaser .field--name-node-title ~ .field--type-text-with-summary,
.section-services .view .view-content .node--view-mode-teaser .field--name-node-title ~ .field--type-text-long {
    padding-top: 0;
}


.section-services .view .view-content .taxonomy-term h2 ~ .field--name-description,
.section-services .view .view-content .taxonomy-term h2 ~ .field--type-text-long,
.section-services .view .view-content .taxonomy-term h3 ~ .field--name-description,
.section-services .view .view-content .taxonomy-term h3 ~ .field--type-text-long {
    padding-top: 0;
}

.section-services .view .view-content .taxonomy-term .field--name-description p,
.section-services .view .view-content .node--view-mode-teaser .field--name-body p {
    margin: 0 0 0.5em;
}

.section-services .view .view-content .taxonomy-term .field--name-description p:last-child,
.section-services .view .view-content .node--view-mode-teaser .field--name-body p:last-child {
    margin-bottom: 0;
}


.section-services .view-footer,
.section-services .view .view-footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    width: 100%;
    max-width: none;
    padding: 15px 0;
    gap: 28px;
    margin-top: 26px;
    box-sizing: border-box;
}

.section-services .view .view-footer .more-link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}

.section-services .view .view-footer .more-link a,
.section-services .view-footer .more-link a,
.section-services .view > .more-link a,
.section-services .view .view-content > .more-link a,
.section-services .view .view-content .more-link a,
.section-services .view .views-view-grid > .more-link a,
.section-services .view .view-footer > a,
.section-services .services-all-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: none;
    flex-grow: 0;
    box-sizing: border-box;
    width: 245px;
    min-width: 245px;
    max-width: 245px;
    height: 50px;
    min-height: 50px;
    max-height: 50px;
    margin: 0;
    padding: 0 12px;
    font-family: var(--vesta-font-heading);
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    color: var(--vesta-dark);
    background: var(--vesta-accent);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.section-services .view-footer a:hover,
.section-services .view-footer a:focus-visible,
.section-services .view .view-footer a:hover,
.section-services .view .view-footer a:focus-visible,
.section-services .more-link a:hover,
.section-services .more-link a:focus-visible,
.section-services .services-all-link:hover,
.section-services .services-all-link:focus-visible {
    color: var(--vesta-dark);
    background: var(--vesta-accent-hover);
    text-decoration: none;
}

.section-services .view-footer a:focus-visible,
.section-services .view .view-footer a:focus-visible,
.section-services .more-link a:focus-visible,
.section-services .services-all-link:focus-visible {
    outline: 2px solid var(--vesta-dark);
    outline-offset: 2px;
}


.section-services .view .views-view-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 30px;
    row-gap: 26px;
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
}

.section-services .view .views-view-grid .views-row {
    display: contents;
}

.section-services .view .views-view-grid .views-col {
    max-width: none;
    width: auto;
    margin: 0;
    min-width: 0;
}

.section-services .view .views-view-grid .views-col:nth-child(3) {
    order: 4;
}

.section-services .view .views-view-grid .views-col:nth-child(4) {
    order: 3;
}

@media (max-width: 991px) {
    .section-services {
        padding: 36px clamp(16px, 4vw, 24px) 44px;
    }

    .section-services > .container {
        min-height: 0;
    }

    .section-services .block__title,
    .section-services .view .view-header .view-title {
        font-size: 22px;
        line-height: 28px;
    }

    .section-services .view .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 30px;
        row-gap: 26px;
    }

    .section-services .view .views-view-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 30px;
        row-gap: 26px;
    }
}

@media (max-width: 575px) {
    .section-services > .container {
        gap: 25px;
    }

    .section-services .view .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 18px;
        column-gap: 12px;
    }

    .section-services .view .views-view-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 18px;
        column-gap: 12px;
    }

    .section-services .view .views-view-grid .views-row {
        display: contents;
    }

    .section-services .view .views-view-grid .views-col {
        max-width: none;
        width: auto;
        min-width: 0;
    }

    .section-services .view .view-footer .more-link a,
    .section-services .view-footer .more-link a,
    .section-services .view > .more-link a,
    .section-services .view .view-content > .more-link a,
    .section-services .view .view-content .more-link a,
    .section-services .view .views-view-grid > .more-link a,
    .section-services .view .view-footer > a,
    .section-services .services-all-link {
        width: 100%;
        min-width: 0;
        max-width: min(245px, 100%);
    }
}


@media (max-width: 574px) {
    .section-services .block__title,
    .section-services .view .view-header .view-title {
        font-size: 20px;
        line-height: 26px;
    }

    .section-services .services-section__eyebrow {
        font-size: 16px;
        line-height: 20px;
    }

    #main .section-services .view .view-content :is(h1, h2, h3, h4, h5, h6),
    #main .section-services .view .view-content :is(h1, h2, h3, h4, h5, h6) a,
    #main .section-services .view .view-content .field--name-node-title,
    #main .section-services .view .view-content .field--name-title,
    #main .section-services .view .view-content .catalog-card__title,
    #main .section-services .view .view-content .product-teaser-card-title {
        font-size: 10px;
        line-height: 10px;
    }

    #main .section-services .view .view-content .field--name-body,
    #main .section-services .view .view-content .field--type-text-long,
    #main .section-services .view .view-content .field--type-text-with-summary,
    #main .section-services .view .view-content .field--name-description,
    #main .section-services .view .view-content .text-formatted,
    #main .section-services .view .view-content .field--name-body p,
    #main .section-services .view .view-content .field--type-text-long p,
    #main .section-services .view .view-content .field--type-text-with-summary p,
    #main .section-services .view .view-content .field--name-description p,
    #main .section-services .view .view-content .text-formatted p,
    #main .section-services .view .view-content .field--name-body .field__item,
    #main .section-services .view .view-content .field--type-text-long .field__item,
    #main .section-services .view .view-content .field--type-text-with-summary .field__item,
    #main .section-services .view .view-content .field--name-description .field__item {
        font-size: 12px;
        line-height: 1.3;
    }

    .section-services .view .view-footer .more-link a,
    .section-services .view-footer .more-link a,
    .section-services .view > .more-link a,
    .section-services .view .view-content > .more-link a,
    .section-services .view .view-content .more-link a,
    .section-services .view .views-view-grid > .more-link a,
    .section-services .view .view-footer > a,
    .section-services .services-all-link {
        font-size: 14px;
        line-height: 18px;
    }
}


@media screen and (min-width: 992px) {
    .section-services.section-services--page > .container {
        min-height: 0;
    }
}

.wrapper_contacts {
    padding-top: clamp(32px, 5vw, 56px);
    padding-bottom: clamp(32px, 5vw, 56px);
    box-sizing: border-box;
    background: #ffffff;
}

.wrapper_contacts .contacts-map-column {
    padding-left: 0;
    padding-right: 0;
}

.wrapper_contacts .contacts-map-wrap {
    position: relative;
    display: flow-root;
    width: 100%;
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 90px;
    box-sizing: border-box;
}


.wrapper_contacts .contacts-map-frame {
    position: absolute;
    top: 90px;
    left: 0;
    width: 100%;
    height: calc(100% - 90px);
    margin: 0;
    background: #ffffff;
    box-sizing: border-box;
}

.wrapper_contacts .contacts-map-frame > * {
    margin: 0;
    box-sizing: border-box;
}

.wrapper_contacts .contacts-map-frame > .region {
    width: 100%;
    height: 100%;
}

.wrapper_contacts .contacts-map-frame .block,
.wrapper_contacts .contacts-map-frame .block-content,
.wrapper_contacts .contacts-map-frame .block__content,
.wrapper_contacts .contacts-map-frame .field,
.wrapper_contacts .contacts-map-frame .field__item {
    width: 100%;
}


.wrapper_contacts .contacts-map-frame .block:has(iframe),
.wrapper_contacts .contacts-map-frame .block:has(.mapContainer),
.wrapper_contacts .contacts-map-frame .views-element-container:has(iframe),
.wrapper_contacts .contacts-map-frame .views-element-container:has(.mapContainer) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.wrapper_contacts .contacts-map-frame .block:has(iframe) .block-content,
.wrapper_contacts .contacts-map-frame .block:has(iframe) .block__content,
.wrapper_contacts .contacts-map-frame .block:has(iframe) .field,
.wrapper_contacts .contacts-map-frame .block:has(iframe) .field__item,
.wrapper_contacts .contacts-map-frame .block:has(.mapContainer) .block-content,
.wrapper_contacts .contacts-map-frame .block:has(.mapContainer) .block__content,
.wrapper_contacts .contacts-map-frame .block:has(.mapContainer) .field,
.wrapper_contacts .contacts-map-frame .block:has(.mapContainer) .field__item {
    height: 100%;
}


.wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .block:not(:has(iframe)):not(:has(.mapContainer)),
.wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .views-element-container:not(:has(iframe)):not(:has(.mapContainer)) {
    position: absolute;
    top: -90px;
    left: 0;
    z-index: 3;
    width: 100%;
    box-sizing: border-box;
}

.wrapper_contacts .contacts-map-frame .mapContainer {
    width: 100% !important;
    height: 100% !important;
    display: flex;
    position: relative;
}

.wrapper_contacts .contacts-map-frame .mapContainer > *:first-child {
    flex: 1;
    min-height: 0;
    min-width: 0;
    width: 100%;
}

.wrapper_contacts .contacts-map-frame iframe {
    display: block;
    width: 100% !important;
    height: 100% !important;
    border: 0;
    vertical-align: middle;
}


.wrapper_contacts .contacts-map-panel {
    position: relative;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: min(470px, calc(100% - 32px));
    max-width: calc(100% - 32px);
    margin-left: clamp(16px, 3vw, 38px);
    margin-top: clamp(32px, 6vw, 80px);
    margin-bottom: clamp(32px, 6vw, 80px);
    padding: 30px;
    gap: 25px;
    box-sizing: border-box;
    background: #ffffff;
    box-shadow: 3px 2px 20px 4px rgba(140, 148, 162, 0.2);
}

@media screen and (min-width: 992px) {
    .wrapper_contacts .contacts-map-panel {
        width: 470px;
        max-width: 470px;
    }
}

.wrapper_contacts .contacts-map-panel__logo {
    flex-shrink: 0;
    width: 100%;
}

.wrapper_contacts .contacts-map-panel__logo .logo-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--vesta-text);
}

.wrapper_contacts .contacts-map-panel__logo .logo-link:hover,
.wrapper_contacts .contacts-map-panel__logo .logo-link:focus-visible {
    text-decoration: none;
    color: var(--vesta-text);
}

.wrapper_contacts .contacts-map-panel__logo .logo-img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    height: 80px;
}

.wrapper_contacts .contacts-map-panel__logo .logo-img {
    display: block;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
    vertical-align: middle;
}

.wrapper_contacts .contacts-map-panel__logo .logo-title {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.2;
    color: var(--vesta-dark);
}

.wrapper_contacts .contacts-map-panel__logo .logo-link .logo-subbrand__name {
    font-size: clamp(9px, 2.4vw, 12px);
    line-height: 1.1;
}

.wrapper_contacts .contacts-map-panel__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    flex: 1 1 auto;
    width: 100%;
}

.wrapper_contacts .contacts-map-panel__field {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
}

.wrapper_contacts .contacts-map-panel .contact-item__label {
    display: block;
    margin: 0;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.35;
    color: var(--vesta-dark);
}

.wrapper_contacts .contacts-map-panel__social-wrap {
    flex-shrink: 0;
    width: 100%;
    margin-top: auto;
}

.wrapper_contacts .contacts-map-panel__social {
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wrapper_contacts .contacts-map-panel__social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    color: #fff;
}

.wrapper_contacts .contacts-map-panel__social svg {
    width: 25px;
    height: 25px;
}

.wrapper_contacts .contacts-map-panel__social a img {
    width: 25px;
    height: 25px;
    display: block;
}

.wrapper_contacts .contacts-map-panel .contact-item {
    margin: 0;
    width: 100%;
    align-items: flex-start;
    gap: 12px;
    font-family: var(--vesta-font-body);
    font-size: 20px;
    line-height: 1.45;
    font-weight: 500;
    color: var(--vesta-dark);
}

.wrapper_contacts .contacts-map-panel .contact-item .icon {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--vesta-dark);
}

.wrapper_contacts .contacts-map-panel .contact-item a {
    color: var(--vesta-dark);
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s ease;
}

.wrapper_contacts .contacts-map-panel .contact-item a:hover,
.wrapper_contacts .contacts-map-panel .contact-item a:focus-visible {
    color: #5c6472;
    text-decoration: none;
}

.wrapper_contacts .contacts-map-panel .contact-item a:focus-visible {
    outline: 2px solid var(--vesta-dark);
    outline-offset: 2px;
}

@media screen and (max-width: 991px) {
    .wrapper_contacts .contacts-map-wrap {
        padding-top: 0;
    }

    .wrapper_contacts .contacts-map-frame {
        position: relative;
        top: auto;
        height: auto;
        overflow: visible;
    }

    .wrapper_contacts .contacts-map-frame > .region {
        height: auto;
    }

    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .block:not(:has(iframe)):not(:has(.mapContainer)),
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .views-element-container:not(:has(iframe)):not(:has(.mapContainer)) {
        position: relative;
        top: auto;
    }

    .wrapper_contacts .contacts-map-frame .block:has(iframe),
    .wrapper_contacts .contacts-map-frame .block:has(.mapContainer),
    .wrapper_contacts .contacts-map-frame .views-element-container:has(iframe),
    .wrapper_contacts .contacts-map-frame .views-element-container:has(.mapContainer) {
        position: relative;
        top: auto;
        left: auto;
        height: auto;
    }

    .wrapper_contacts .contacts-map-frame .block,
    .wrapper_contacts .contacts-map-frame .block-content,
    .wrapper_contacts .contacts-map-frame .block__content,
    .wrapper_contacts .contacts-map-frame .field,
    .wrapper_contacts .contacts-map-frame .field__item {
        height: auto;
    }

    .wrapper_contacts .contacts-map-frame .mapContainer {
        height: auto !important;
    }

    .wrapper_contacts .contacts-map-frame iframe {
        height: 300px !important;
    }

    .wrapper_contacts .contacts-map-panel {
        position: relative;
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-top: 20px;
        margin-bottom: 0;
        padding: clamp(20px, 4vw, 30px);
        gap: clamp(20px, 4vw, 35px);
    }

    .wrapper_contacts .contacts-map-panel__body {
        gap: clamp(20px, 4vw, 35px);
        flex: 0 1 auto;
    }

    .wrapper_contacts .contacts-map-panel__social-wrap {
        margin-top: 0;
    }
}

@media (max-width: 574px) {
    .wrapper_contacts {
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .wrapper_contacts .contacts-map-panel {
        padding: 16px 14px;
        gap: 14px;
        margin-top: 12px;
        margin-bottom: 0;
    }

    .wrapper_contacts .contacts-map-frame iframe {
        height: 250px !important;
    }

    .wrapper_contacts .contacts-map-panel__body {
        gap: 12px;
    }

    .wrapper_contacts .contacts-map-panel__field {
        gap: 6px;
    }

    .wrapper_contacts .contacts-map-panel .contact-item__label {
        display: block;
        width: 100%;
        font-size: 16px;
        line-height: 1.3;
        margin: 0;
    }

    .wrapper_contacts .contacts-map-panel .contact-item {
        font-size: 18px;
        line-height: 1.35;
        gap: 10px;
        width: 100%;
    }

    .wrapper_contacts .contacts-map-panel .contact-item .c-el {
        min-width: 0;
        flex: 1 1 auto;
    }

    .wrapper_contacts--page.wrapper_contacts--kontakty-plain .contacts-map-panel--kontakty-plain {
        gap: 10px;
    }

    .wrapper_contacts--page.wrapper_contacts--kontakty-plain .contacts-map-panel--kontakty-plain .contacts-map-panel__body {
        gap: 12px;
    }

    .wr_content--kontakty .region.region-content,
    .wr_content--kontakty .region-content,
    .wr_content--kontakty .layout__region--content,
    .wr_content--kontakty .layout-content {
        display: flex;
        flex-direction: column;
    }

    .wr_content--kontakty .block-page-title-block {
        order: -100;
    }

    
    .wrapper_contacts--page.wrapper_contacts--kontakty-plain .contacts-map-panel--kontakty-plain .contact-item__label,
    .wrapper_contacts--page.wrapper_contacts--kontakty-plain .contacts-map-panel .contact-item__label {
        font-size: 14px;
    }

    .wrapper_contacts--page.wrapper_contacts--kontakty-plain .contacts-map-panel .contact-item {
        font-size: 16px;
    }

    .wr_content--kontakty .breadcrumb {
        font-size: 12px;
    }

    .wr_content--kontakty .breadcrumb a {
        font-size: inherit;
    }

    .wr_content--kontakty .text-formatted p,
    .wr_content--kontakty .field--name-body p,
    .wr_content--kontakty .field--name-body li {
        font-size: 14px;
    }
}


@media screen and (max-width: 991px) {
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-wrap {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame {
        display: contents;
        min-height: 0;
    }

    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame > .region {
        display: contents;
    }

    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .block,
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .views-element-container {
        order: 1;
        width: 100%;
    }

    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-panel {
        order: 2;
        margin-top: 0;
        margin-bottom: 20px;
        width: 100%;
        max-width: none;
    }

    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .block:has(iframe),
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .block:has(.mapContainer),
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .views-element-container:has(iframe),
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .views-element-container:has(.mapContainer) {
        order: 3;
    }

    
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .block:not(:has(iframe)):not(:has(.mapContainer)),
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .views-element-container:not(:has(iframe)):not(:has(.mapContainer)) {
        padding-left: 20px;
        box-sizing: border-box;
    }

    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .block:has(iframe) .mapContainer,
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .block:has(iframe) iframe,
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .views-element-container:has(iframe) .mapContainer,
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .views-element-container:has(iframe) iframe {
        min-height: 280px;
    }

    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .block:has(.mapContainer),
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-frame .views-element-container:has(.mapContainer) {
        min-height: 280px;
    }
}

@media (max-width: 574px) {
    .wrapper_contacts:not(.wrapper_contacts--page) .contacts-map-panel {
        margin-top: 0;
        margin-bottom: 14px;
    }
}


.wrapper_contacts--page {
    padding-top: 0;
    padding-bottom: 0;
}

.wrapper_contacts--page .contacts-page-panel-inner {
    display: flex;
    justify-content: center;
    padding-bottom: clamp(24px, 4vw, 40px);
}

.wrapper_contacts--page .contacts-map-panel--page {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: 470px;
    margin: 0;
    height: auto;
    box-shadow: 3px 2px 20px 4px rgba(140, 148, 162, 0.2);
}


.wr_content--kontakty {
    padding-top: clamp(8px, 1.2vw, 14px);
    padding-bottom: 0;
}

.wr_content--kontakty .breadcrumb {
    margin-bottom: clamp(4px, 1vw, 10px);
}


.wr_content--kontakty .block-page-title-block,
.wr_content--kontakty h1.title,
.wr_content--kontakty .page-title {
    margin-top: 30px;
    margin-bottom: clamp(6px, 1.2vw, 12px);
}

.wr_content--kontakty .block-page-title-block h1 {
    margin-bottom: 0;
}


.wr_content--uslugi-sub {
    padding-top: 40px;
    padding-bottom: 60px;
}

.wr_content--uslugi-sub .ds-2col,
.wr_content--uslugi-sub .ds-2col-fluid:not(.group-one-column) {
    display: grid;
    grid-template-columns: minmax(0, max-content) minmax(0, 1fr);
    column-gap: 50px;
    align-items: start;
}


.wr_content--uslugi-sub .ds-2col > .group-left,
.wr_content--uslugi-sub .ds-2col > .group-right,
.wr_content--uslugi-sub .ds-2col-fluid:not(.group-one-column) > .group-left,
.wr_content--uslugi-sub .ds-2col-fluid:not(.group-one-column) > .group-right {
    float: none;
    width: auto;
    max-width: 100%;
    min-width: 0;
}

[dir='rtl'] .wr_content--uslugi-sub .ds-2col > .group-left,
[dir='rtl'] .wr_content--uslugi-sub .ds-2col > .group-right,
[dir='rtl'] .wr_content--uslugi-sub .ds-2col-fluid:not(.group-one-column) > .group-left,
[dir='rtl'] .wr_content--uslugi-sub .ds-2col-fluid:not(.group-one-column) > .group-right {
    float: none;
}

.wr_content--uslugi-sub .group-left img,
.wr_content--uslugi-sub .group-left picture img {
    max-width: 100%;
    height: auto;
    display: block;
}


.wr_content--uslugi-sub .group-right .field--name-title h1,
.wr_content--uslugi-sub .group-right .field--name-title h2,
.wr_content--uslugi-sub .group-right .field--name-node-title h1,
.wr_content--uslugi-sub .group-right .field--name-node-title h2 {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 28px;
    line-height: 34px;
    color: var(--vesta-dark);
    margin: 0 0 12px;
}

.wr_content--uslugi-sub .group-right .field--name-title .field__item:not(h1):not(h2),
.wr_content--uslugi-sub .group-right .field--name-node-title .field__item:not(h1):not(h2) {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 28px;
    line-height: 34px;
    color: var(--vesta-dark);
    margin: 0 0 12px;
    display: block;
}

@media screen and (max-width: 767px) {
    .wr_content--uslugi-sub {
        padding-bottom: 40px;
    }

    .wr_content--uslugi-sub .ds-2col,
    .wr_content--uslugi-sub .ds-2col-fluid:not(.group-one-column) {
        grid-template-columns: 1fr;
        row-gap: 24px;
    }

    .wr_content--uslugi-sub .group-right .field--name-title h1,
    .wr_content--uslugi-sub .group-right .field--name-title h2,
    .wr_content--uslugi-sub .group-right .field--name-node-title h1,
    .wr_content--uslugi-sub .group-right .field--name-node-title h2,
    .wr_content--uslugi-sub .group-right .field--name-title .field__item:not(h1):not(h2),
    .wr_content--uslugi-sub .group-right .field--name-node-title .field__item:not(h1):not(h2) {
        font-size: 24px;
        line-height: 30px;
    }
}

@media (max-width: 574px) {
    .wr_content--uslugi-sub .ds-2col,
    .wr_content--uslugi-sub .ds-2col-fluid:not(.group-one-column) {
        justify-items: start;
        text-align: left;
    }

    .wr_content--uslugi-sub .group-left,
    .wr_content--uslugi-sub .group-right {
        text-align: left;
        justify-self: stretch;
    }

    .wr_content--uslugi-sub .group-left img,
    .wr_content--uslugi-sub .group-left picture {
        margin-left: 0;
        margin-right: auto;
    }

    .wr_content--uslugi-sub .group-right .field--name-title h1,
    .wr_content--uslugi-sub .group-right .field--name-title h2,
    .wr_content--uslugi-sub .group-right .field--name-node-title h1,
    .wr_content--uslugi-sub .group-right .field--name-node-title h2,
    .wr_content--uslugi-sub .group-right .field--name-title .field__item:not(h1):not(h2),
    .wr_content--uslugi-sub .group-right .field--name-node-title .field__item:not(h1):not(h2) {
        text-align: left;
        margin-left: 0;
        margin-right: 0;
    }

    .wr_content--uslugi-sub .text-formatted,
    .wr_content--uslugi-sub .field--type-text-with-summary {
        text-align: left;
    }

    .wr_content--uslugi-sub .commerce-price,
    .wr_content--uslugi-sub .field--name-price,
    .wr_content--uslugi-sub .field--name-price .field__item {
        font-size: 18px;
        line-height: 1.35;
    }
}


.wr_content--pad-catalog,
.wr_content--pad-photogallery {
    padding: 36px clamp(16px, 4vw, 24px) 44px;
    box-sizing: border-box;
}


#main:has(> .wr_content--pad-catalog) {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
}

.wr_content--pad-catalog {
    flex: 1 1 auto;
    
    min-height: calc(100vw * 510 / 1920);
    min-height: calc(100cqi * 510 / 1920);
    background-color: #ebebeb;
    background-image: url(../image/image_o_nas.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

@media (max-width: 1199px) {
    .wr_content--pad-catalog {
        background-image: none;
        background-color: transparent;
        min-height: 0;
    }
}


#main .wrapper_gallery.front-gallery--page-list {
    padding: 36px clamp(16px, 4vw, 24px) 44px;
    box-sizing: border-box;
}


@media screen and (max-width: 767px) {
    .wrapper_gallery.front-gallery.front-gallery--page-list,
    .front-gallery.front-gallery--page-list {
        background: #fff;
    }
}


body.page-node-type-photogallery #main > .w-100 {
    padding: 36px clamp(16px, 4vw, 24px) 44px;
    box-sizing: border-box;
}

.breadcrumb .breadcrumb-item.active,
.breadcrumb .breadcrumb-item[aria-current="page"] {
    font-weight: 600;
}


.wrapper_contacts--kontakty-plain .region-map .vesta-section-head,
body.path-kontakty-page .region-map .vesta-section-head,
body.path-kontakty .region-map .vesta-section-head,
body.path-contacts .region-map .vesta-section-head {
    display: none;
}


.wrapper_contacts--kontakty-plain .region-map .field--name-field-zagolovok,
.wrapper_contacts--kontakty-plain .region-map .field--name-field-podzagolovok,
body.path-kontakty-page .region-map .field--name-field-zagolovok,
body.path-kontakty-page .region-map .field--name-field-podzagolovok,
body.path-kontakty .region-map .field--name-field-zagolovok,
body.path-kontakty .region-map .field--name-field-podzagolovok,
body.path-contacts .region-map .field--name-field-zagolovok,
body.path-contacts .region-map .field--name-field-podzagolovok {
    display: none !important;
}


body.front .region-map .vesta-section-head,
body.path-front .region-map .vesta-section-head {
    display: none;
}


@media (max-width: 574px) {
    
    body:is(.path-front, .front) .vesta-section-head h3,
    body:is(.path-front, .front) .vesta-section-head h3.field--name-field-zagolovok,
    body:is(.path-front, .front) .block-block-content h3.field--name-field-zagolovok,
    body:is(.path-front, .front) .vesta-section-head > article .field--name-field-zagolovok .field__item,
    body:is(.path-front, .front) .vesta-section-head:not(:has(> article)) > .field--name-field-zagolovok .field__item,
    body:is(.path-front, .front) .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) article .field--name-field-zagolovok .field__item {
        font-size: 16px;
        line-height: 20px;
    }

    body:is(.path-front, .front) .vesta-section-head h2,
    body:is(.path-front, .front) .vesta-section-head h2.field--name-field-podzagolovok,
    body:is(.path-front, .front) .block-block-content h2.field--name-field-podzagolovok,
    body:is(.path-front, .front) .vesta-section-head > article .field--name-field-podzagolovok .field__item,
    body:is(.path-front, .front) .vesta-section-head:not(:has(> article)) > .field--name-field-podzagolovok .field__item,
    body:is(.path-front, .front) .block-block-content:has(.field--name-field-zagolovok):has(.field--name-field-podzagolovok) article .field--name-field-podzagolovok .field__item {
        font-size: 18px;
        line-height: 24px;
    }

    body:is(.path-front, .front) .front-gallery__title,
    body:is(.path-front, .front) .front-gallery .block-block-content h2.field--name-field-podzagolovok,
    body:is(.path-front, .front) .front-gallery .block-block-content .field--name-field-podzagolovok .field__item,
    body:is(.path-front, .front) .front-gallery__view h2.field--name-field-podzagolovok,
    body:is(.path-front, .front) .front-gallery__view .field--name-field-podzagolovok .field__item {
        font-size: 18px;
        line-height: 24px;
    }

    body:is(.path-front, .front) .section-services .block__title,
    body:is(.path-front, .front) .section-services .view .view-header .view-title {
        font-size: 18px;
        line-height: 24px;
    }

    body:is(.path-front, .front) #app :is(
        .btn,
        a.btn,
        button.btn:not(.mobile-menu-btn):not(.js-search-btn),
        .btn-callback,
        a.btn-callback,
        .button,
        a.button,
        button.button,
        input.button,
        input[type='submit'],
        input[type='button'],
        .form-submit,
        button.form-submit,
        .js-form-submit,
        .webform-button--submit,
        button.webform-button--submit,
        .pager a.button,
        .pager .button,
        .view-tovary .more-link a,
        .view-id-tovary .more-link a,
        .front-gallery__more,
        .vesta-scroll-top,
        .services-all-link,
        a.services-all-link
    ) {
        font-size: 14px;
        line-height: 1.25;
    }

    
    body:is(.path-front, .front) #app .wrapper_catalog :is(.catalog-card__cta, a.catalog-card__cta, .product-teaser__cta-modal, a.product-teaser__cta-modal) {
        font-size: 12px;
        line-height: 1.2;
    }

    
    body:is(.path-front, .front) #header .wr-search-form :is(input[type='text'], input[type='search']),
    body:is(.path-front, .front) #header .region-search :is(input[type='text'], input[type='search']) {
        font-size: 14px;
    }

    body:is(.path-front, .front) #offcanvasNav .wr-search-form :is(input[type='text'], input[type='search'], input.form-control, input.form-search),
    body:is(.path-front, .front) #offcanvasNav .offcanvas-contacts :is(.offcanvas-phone, .offcanvas-email, .offcanvas-address),
    body:is(.path-front, .front) #offcanvasNav .dropdown-menu .dropdown-item {
        font-size: 14px;
    }

    body:is(.path-front, .front) #slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-hero-trust-row,
    body:is(.path-front, .front) #slider-block .node--type-slide .content p.slide-hero-trust {
        font-size: 14px;
    }

    body:is(.path-front, .front) .wrapper_catalog .product-teaser-meta__value,
    body:is(.path-front, .front) .wrapper_catalog .product-teaser-meta__value--price,
    body:is(.path-front, .front) .wrapper_catalog .product-teaser-price-prefix {
        font-size: 14px;
    }

    body:is(.path-front, .front) .wrapper_about .field--name-field-ssylka a,
    body:is(.path-front, .front) .wrapper_about .field--name-body a.about-company-more,
    body:is(.path-front, .front) .wrapper_about .text-formatted a.about-company-more,
    body:is(.path-front, .front) .wrapper_about .field--name-body a[href^='/about'],
    body:is(.path-front, .front) .wrapper_about .text-formatted a[href^='/about'] {
        font-size: 14px;
        line-height: 1.2;
    }

    body:is(.path-front, .front) div#slider-block .node--type-slide .field--name-field-slide-link a {
        font-size: 14px;
        line-height: 1.2;
    }

    body:is(.path-front, .front) div#slider-block .node--type-slide .content .field--name-body:not(.field--slide-body-stacked) .text-formatted > p:first-of-type,
    body:is(.path-front, .front) div#slider-block .node--type-slide .field--name-body.field__item:not(.field--slide-body-stacked) > p:first-of-type {
        font-size: 14px;
        line-height: 1.35;
        min-height: 0;
    }

    body:is(.path-front, .front) div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-body-intro,
    body:is(.path-front, .front) div#slider-block .node--type-slide .field--name-body.field--slide-body-stacked .slide-body-intro p {
        font-size: 14px;
        line-height: 1.35;
        min-height: 0;
    }

    body:is(.path-front, .front) .wrapper_about .field--type-text-with-summary,
    body:is(.path-front, .front) .wrapper_about .field--name-body,
    body:is(.path-front, .front) .wrapper_about .field--name-body .field__item,
    body:is(.path-front, .front) .wrapper_about .field--name-body .text-formatted,
    body:is(.path-front, .front) .wrapper_about .text-formatted,
    body:is(.path-front, .front) .wrapper_about .field--name-body p,
    body:is(.path-front, .front) .wrapper_about .text-formatted p {
        font-size: 14px;
        line-height: 1.5;
    }

    body:is(.path-front, .front) .wrapper_contacts .contacts-map-panel .contact-item__label,
    body:is(.path-front, .front) .wrapper_contacts .contacts-map-panel .contact-item,
    body:is(.path-front, .front) .wrapper_contacts .contacts-map-panel .contact-item a,
    body:is(.path-front, .front) .wrapper_contacts .contacts-map-panel .contact-item .c-el {
        font-size: 14px;
        line-height: 1.4;
    }
}

.wrapper_contacts--page.wrapper_contacts--kontakty-plain .contacts-page-panel-inner--kontakty {
    justify-content: flex-start;
    padding-top: 0;
    padding-bottom: clamp(16px, 2.5vw, 28px);
}

.wrapper_contacts--page.wrapper_contacts--kontakty-plain .contacts-map-panel--kontakty-plain {
    box-shadow: none;
    background: transparent;
    max-width: 560px;
    width: 100%;
    margin: 0;
    margin-top: 0;
    padding: 0;
    gap: clamp(12px, 2vw, 20px);
}


.wrapper_contacts--kontakty-plain .contacts-map-panel__logo {
    display: none;
}

.wrapper_contacts--page.wrapper_contacts--kontakty-plain .contacts-map-panel--kontakty-plain .contacts-map-panel__body {
    gap: clamp(16px, 2.5vw, 22px);
}

.wrapper_contacts__map-bleed {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    box-sizing: border-box;
    background: #ffffff;
}

.wrapper_contacts__map-bleed .contacts-map-frame--bleed {
    position: relative;
    width: 100%;
    max-width: none;
    min-height: 420px;
    margin: 0 auto;
    background: #ffffff;
}

.wrapper_contacts__map-bleed .contacts-map-frame--bleed .mapContainer,
.wrapper_contacts__map-bleed .contacts-map-frame--bleed iframe {
    min-height: 420px;
}


.section-benefits {
    position: relative;
    background: #fff;
    padding: 48px clamp(16px, 4vw, 24px) 56px;
    box-sizing: border-box;
}

.section-benefits .section-benefits__inner {
    max-width: 1264px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}


.section-benefits .vesta-section-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    width: 100%;
}

.section-benefits .vesta-section-head > article {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    width: 100%;
}

.section-benefits .vesta-section-head h3.field--name-field-zagolovok,
.section-benefits .vesta-section-head .field.field--name-field-zagolovok,
.section-benefits .vesta-section-head > article .field--name-field-zagolovok {
    order: 1;
}

.section-benefits .vesta-section-head h2.field--name-field-podzagolovok,
.section-benefits .vesta-section-head .field.field--name-field-podzagolovok,
.section-benefits .vesta-section-head > article .field--name-field-podzagolovok {
    order: 2;
}

.section-benefits .vesta-section-head h3.field--name-field-zagolovok,
.section-benefits .vesta-section-head .field--name-field-zagolovok .field__item,
.section-benefits .vesta-section-head .field--name-field-zagolovok.field__item,
.section-benefits .vesta-section-head .field--name-field-zagolovok h3 {
    font-family: var(--vesta-font-heading);
    font-size: 18px;
    line-height: 22px;
    font-weight: 700;
    color: var(--vesta-muted);
}

.section-benefits .vesta-section-head h2.field--name-field-podzagolovok,
.section-benefits .vesta-section-head .field--name-field-podzagolovok .field__item,
.section-benefits .vesta-section-head .field--name-field-podzagolovok.field__item,
.section-benefits .vesta-section-head .field--name-field-podzagolovok h2 {
    font-family: var(--vesta-font-heading);
    font-size: 26px;
    line-height: 32px;
    font-weight: 700;
    color: #000;
}

.section-benefits .vesta-section-head h3.field--name-field-zagolovok,
.section-benefits .vesta-section-head h2.field--name-field-podzagolovok {
    margin: 0;
    width: 100%;
}


.section-benefits .group-left .field--name-block-title h2,
.section-benefits .group-left .field--name-block-title .field__item {
    font-family: var(--vesta-font-heading);
    font-size: 18px;
    line-height: 22px;
    font-weight: 700;
    color: var(--vesta-muted);
    margin: 0;
}

@media (max-width: 767px) {
    .section-benefits .vesta-section-head h3.field--name-field-zagolovok,
    .section-benefits .vesta-section-head .field--name-field-zagolovok .field__item,
    .section-benefits .vesta-section-head .field--name-field-zagolovok.field__item,
    .section-benefits .vesta-section-head .field--name-field-zagolovok h3 {
        font-size: 16px;
        line-height: 20px;
    }

    .section-benefits .vesta-section-head h2.field--name-field-podzagolovok,
    .section-benefits .vesta-section-head .field--name-field-podzagolovok .field__item,
    .section-benefits .vesta-section-head .field--name-field-podzagolovok.field__item,
    .section-benefits .vesta-section-head .field--name-field-podzagolovok h2 {
        font-size: 22px;
        line-height: 28px;
    }

    .section-benefits .group-left .field--name-block-title h2,
    .section-benefits .group-left .field--name-block-title .field__item {
        font-size: 16px;
        line-height: 20px;
    }

    .section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type,
    .section-benefits .group-left .field--name-body .text-formatted > p:first-of-type > span:first-of-type {
        font-size: 22px;
        line-height: 28px;
        margin-bottom: 10px;
    }
}

@media (max-width: 574px) {
    body:is(.path-front, .front) .section-benefits .vesta-section-head h3.field--name-field-zagolovok,
    body:is(.path-front, .front) .section-benefits .vesta-section-head .field--name-field-zagolovok .field__item,
    body:is(.path-front, .front) .section-benefits .vesta-section-head .field--name-field-zagolovok.field__item,
    body:is(.path-front, .front) .section-benefits .vesta-section-head .field--name-field-zagolovok h3 {
        font-size: 16px;
        line-height: 20px;
    }

    body:is(.path-front, .front) .section-benefits .vesta-section-head h2.field--name-field-podzagolovok,
    body:is(.path-front, .front) .section-benefits .vesta-section-head .field--name-field-podzagolovok .field__item,
    body:is(.path-front, .front) .section-benefits .vesta-section-head .field--name-field-podzagolovok.field__item,
    body:is(.path-front, .front) .section-benefits .vesta-section-head .field--name-field-podzagolovok h2 {
        font-size: 18px;
        line-height: 24px;
    }

    body:is(.path-front, .front) .section-benefits .group-left .field--name-block-title h2,
    body:is(.path-front, .front) .section-benefits .group-left .field--name-block-title .field__item {
        font-size: 16px;
        line-height: 20px;
    }

    body:is(.path-front, .front) .section-benefits .vesta-section-head h2.field--name-field-zagolovok,
    body:is(.path-front, .front) .section-benefits .vesta-section-head .field--name-field-zagolovok h2 {
        font-size: 16px;
        line-height: 20px;
    }

    body:is(.path-front, .front) .section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type,
    body:is(.path-front, .front) .section-benefits .group-left .field--name-body .text-formatted > p:first-of-type > span:first-of-type {
        font-size: 18px;
        line-height: 24px;
        margin-bottom: 8px;
    }

    
    body:is(.path-front, .front) .section-benefits .text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type,
    body:is(.path-front, .front) .section-benefits .field--type-text-with-summary.text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type {
        display: block;
        width: 100%;
        min-height: 0;
        margin: 0 0 8px;
        padding: 0;
        gap: 0;
        align-items: unset;
        flex-direction: column;
        font-family: var(--vesta-font-heading);
        font-weight: 700;
        font-size: 18px;
        line-height: 24px;
        color: #000;
    }

    body:is(.path-front, .front) .section-benefits .text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type::before,
    body:is(.path-front, .front) .section-benefits .field--type-text-with-summary.text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type::before {
        content: none;
        display: none;
        flex: 0 0 0;
        width: 0;
        height: 0;
        margin: 0;
        background: none;
    }

    
    body:not(:is(.path-front, .front)) .section-benefits .vesta-section-head h3.field--name-field-zagolovok,
    body:not(:is(.path-front, .front)) .section-benefits .vesta-section-head .field--name-field-zagolovok .field__item,
    body:not(:is(.path-front, .front)) .section-benefits .vesta-section-head .field--name-field-zagolovok.field__item,
    body:not(:is(.path-front, .front)) .section-benefits .vesta-section-head .field--name-field-zagolovok h3 {
        font-size: 18px;
        line-height: 22px;
    }

    body:not(:is(.path-front, .front)) .section-benefits .vesta-section-head h2.field--name-field-podzagolovok,
    body:not(:is(.path-front, .front)) .section-benefits .vesta-section-head .field--name-field-podzagolovok .field__item,
    body:not(:is(.path-front, .front)) .section-benefits .vesta-section-head .field--name-field-podzagolovok.field__item,
    body:not(:is(.path-front, .front)) .section-benefits .vesta-section-head .field--name-field-podzagolovok h2 {
        font-size: 20px;
        line-height: 26px;
    }

    body:not(:is(.path-front, .front)) .section-benefits .group-left .field--name-block-title h2,
    body:not(:is(.path-front, .front)) .section-benefits .group-left .field--name-block-title .field__item {
        font-size: 18px;
        line-height: 22px;
    }

    body:not(:is(.path-front, .front)) .section-benefits .vesta-section-head h2.field--name-field-zagolovok,
    body:not(:is(.path-front, .front)) .section-benefits .vesta-section-head .field--name-field-zagolovok h2 {
        font-size: 18px;
        line-height: 22px;
    }

    body:not(:is(.path-front, .front)) .section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type,
    body:not(:is(.path-front, .front)) .section-benefits .group-left .field--name-body .text-formatted > p:first-of-type > span:first-of-type {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 8px;
    }

    body:not(:is(.path-front, .front)) .section-benefits .text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type,
    body:not(:is(.path-front, .front)) .section-benefits .field--type-text-with-summary.text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type {
        display: block;
        width: 100%;
        min-height: 0;
        margin: 0 0 8px;
        padding: 0;
        gap: 0;
        align-items: unset;
        flex-direction: column;
        font-family: var(--vesta-font-heading);
        font-weight: 700;
        font-size: 20px;
        line-height: 26px;
        color: #000;
    }

    body:not(:is(.path-front, .front)) .section-benefits .text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type::before,
    body:not(:is(.path-front, .front)) .section-benefits .field--type-text-with-summary.text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type::before {
        content: none;
        display: none;
        flex: 0 0 0;
        width: 0;
        height: 0;
        margin: 0;
        background: none;
    }

}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) > br {
    display: none;
}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type,
.section-benefits .group-left .field--name-body .text-formatted > p:first-of-type > span:first-of-type {
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--vesta-font-heading);
    font-size: 26px;
    line-height: 32px;
    font-weight: 700;
    color: #000;
    margin: 0 0 12px;
    min-height: 0;
    align-items: unset;
    gap: 0;
    flex-direction: row;
}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type::before,
.section-benefits .group-left .field--name-body .text-formatted > p:first-of-type > span:first-of-type::before {
    content: none;
    display: none;
    width: 0;
    height: 0;
    margin: 0;
    flex: 0 0 0;
    background: none;
}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(3)) > span:nth-of-type(2) {
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--vesta-dark);
    margin: 0 0 56px;
    min-height: 0;
    align-items: unset;
    gap: 0;
    flex-direction: row;
}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(3)) > span:nth-of-type(2)::before {
    content: none;
    display: none;
    width: 0;
    height: 0;
    margin: 0;
    flex: 0 0 0;
    background: none;
}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)):not(:has(> span:nth-of-type(3))) > span:nth-of-type(2) {
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--vesta-dark);
    margin: 0;
    min-height: 0;
    align-items: unset;
    gap: 0;
    flex-direction: row;
}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)):not(:has(> span:nth-of-type(3))) > span:nth-of-type(2)::before {
    content: none;
    display: none;
    width: 0;
    height: 0;
    margin: 0;
    flex: 0 0 0;
    background: none;
}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) > span:nth-of-type(n + 3) {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    margin: 0 0 22px;
    min-height: 34px;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    line-height: 1.35;
    color: var(--vesta-dark);
}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) > span:nth-of-type(n + 3)::before {
    content: '';
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    background: url('../image/benefit-icon-check.svg') no-repeat center / contain;
}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) > span:nth-of-type(n + 3):last-of-type {
    margin-bottom: 0;
}

@media (min-width: 992px) {
    .section-benefits .section-benefits__grid--two-cols {
        min-height: 386px;
    }
}

.section-benefits .section-benefits__grid {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 28px;
    column-gap: clamp(28px, 4vw, 56px);
    align-items: start;
}

.section-benefits .section-benefits__grid--two-cols {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
}


.section-benefits .section-benefits__col--text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.section-benefits .section-benefits__col--text > .block .block__content:not(:has(> .ds-2col)):not(:has(> .ds-2col-fluid:not(.group-one-column))),
.section-benefits .section-benefits__col--text > .block .block-content:not(:has(> .ds-2col)):not(:has(> .ds-2col-fluid:not(.group-one-column))) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
}


.section-benefits .section-benefits__col--media {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
    min-width: 0;
}

.section-benefits .section-benefits__col--media > .contextual {
    flex: 0 0 auto;
}


.section-benefits .section-benefits__col--media > *:not(.contextual) {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
}

.section-benefits .section-benefits__col--media .field--type-image,
.section-benefits .section-benefits__col--media .field--name-field-image {
    margin: 0;
    width: 100%;
}

.section-benefits .section-benefits__col--media img,
.section-benefits .section-benefits__col--media picture img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 220px;
    max-height: min(420px, 52vh);
    object-fit: cover;
}


.section-benefits .section-benefits__col--media::after {
    content: '';
    display: block;
    flex: 0 0 clamp(44px, 5.5vw, 64px);
    width: clamp(44px, 5.5vw, 64px);
    min-width: clamp(44px, 5.5vw, 64px);
    aspect-ratio: 4 / 7;
    min-height: 120px;
    max-height: min(360px, min(420px, 52vh));
    background: url('../image/catalog-deco-tall.png') no-repeat center / contain;
    align-self: flex-start;
    flex-shrink: 0;
}


.section-benefits .ds-2col,
.section-benefits .ds-2col-fluid:not(.group-one-column) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    column-gap: clamp(28px, 4vw, 56px);
    row-gap: 28px;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}

.section-benefits .ds-2col > .group-left,
.section-benefits .ds-2col > .group-right,
.section-benefits .ds-2col-fluid:not(.group-one-column) > .group-left,
.section-benefits .ds-2col-fluid:not(.group-one-column) > .group-right {
    float: none;
    width: auto;
    max-width: 100%;
    min-width: 0;
}

[dir='rtl'] .section-benefits .ds-2col > .group-left,
[dir='rtl'] .section-benefits .ds-2col > .group-right,
[dir='rtl'] .section-benefits .ds-2col-fluid:not(.group-one-column) > .group-left,
[dir='rtl'] .section-benefits .ds-2col-fluid:not(.group-one-column) > .group-right {
    float: none;
}

.section-benefits .group-left {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
}

.section-benefits .group-left .field--name-block-title,
.section-benefits .group-left .field--name-body {
    margin-top: 0;
    margin-bottom: 0;
}


.section-benefits .section-benefits__region-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    column-gap: clamp(28px, 4vw, 56px);
    row-gap: 28px;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}

.section-benefits .section-benefits__region-layout > .block:not(:has(.ds-2col)):not(:has(.ds-2col-fluid)) {
    grid-column: 1;
}

.section-benefits .section-benefits__region-layout > .block:has(.ds-2col),
.section-benefits .section-benefits__region-layout > .block:has(.ds-2col-fluid:not(.group-one-column)) {
    display: contents;
}

.section-benefits .section-benefits__region-layout > .block:has(.ds-2col) .block__content,
.section-benefits .section-benefits__region-layout > .block:has(.ds-2col) .block-content,
.section-benefits .section-benefits__region-layout > .block:has(.ds-2col-fluid:not(.group-one-column)) .block__content,
.section-benefits .section-benefits__region-layout > .block:has(.ds-2col-fluid:not(.group-one-column)) .block-content {
    display: contents;
}

.section-benefits .section-benefits__region-layout > .block:has(.ds-2col) .ds-2col,
.section-benefits .section-benefits__region-layout > .block:has(.ds-2col-fluid:not(.group-one-column)) .ds-2col-fluid {
    display: contents;
}

.section-benefits .section-benefits__region-layout .group-left {
    grid-column: 1;
}

.section-benefits .section-benefits__region-layout .group-right {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: start;
}

.section-benefits .section-benefits__region-layout > .block:not(:has(.ds-2col)):not(:has(.ds-2col-fluid)) .vesta-section-head {
    width: 100%;
    text-align: left;
    margin: 0;
    padding: 0;
}

.section-benefits .section-benefits__region-layout > .block:not(:has(.ds-2col)):not(:has(.ds-2col-fluid)) .vesta-section-head h3,
.section-benefits .section-benefits__region-layout > .block:not(:has(.ds-2col)):not(:has(.ds-2col-fluid)) .vesta-section-head h3.field--name-field-zagolovok {
    margin: 0 0 5px;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
}

.section-benefits .section-benefits__region-layout > .block:not(:has(.ds-2col)):not(:has(.ds-2col-fluid)) .vesta-section-head h2,
.section-benefits .section-benefits__region-layout > .block:not(:has(.ds-2col)):not(:has(.ds-2col-fluid)) .vesta-section-head h2.field--name-field-podzagolovok {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: #000;
}


.section-benefits .section-benefits__content-grid:has(.ds-2col),
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    column-gap: clamp(28px, 4vw, 56px);
    row-gap: 28px;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}


.section-benefits .section-benefits__content-grid:has(.ds-2col) > *:not(:only-child),
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) > *:not(:only-child) {
    grid-column: 1;
}

.section-benefits .section-benefits__content-grid:has(.ds-2col) > *:only-child,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) > *:only-child {
    display: contents;
}


.section-benefits .section-benefits__content-grid:has(.ds-2col):has(> *:only-child) .field--name-field-zagolovok,
.section-benefits .section-benefits__content-grid:has(.ds-2col):has(> *:only-child) .field--name-field-podzagolovok,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)):has(> *:only-child) .field--name-field-zagolovok,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)):has(> *:only-child) .field--name-field-podzagolovok,
.section-benefits .section-benefits__content-grid:has(.ds-2col):has(> *:only-child) > *:only-child .vesta-section-head,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)):has(> *:only-child) > *:only-child .vesta-section-head {
    grid-column: 1;
}

.section-benefits .section-benefits__content-grid:has(.ds-2col):has(> *:only-child) h2:not(:is(.group-left *, .group-right *)),
.section-benefits .section-benefits__content-grid:has(.ds-2col):has(> *:only-child) h3:not(:is(.group-left *, .group-right *)),
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)):has(> *:only-child) h2:not(:is(.group-left *, .group-right *)),
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)):has(> *:only-child) h3:not(:is(.group-left *, .group-right *)) {
    grid-column: 1;
}

.section-benefits .section-benefits__content-grid:has(.ds-2col) .block-content,
.section-benefits .section-benefits__content-grid:has(.ds-2col) .block__content,
.section-benefits .section-benefits__content-grid:has(.ds-2col) .ds-2col,
.section-benefits .section-benefits__content-grid:has(.ds-2col) .ds-2col-fluid:not(.group-one-column),
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .block-content,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .block__content,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .ds-2col,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .ds-2col-fluid:not(.group-one-column) {
    display: contents;
}

.section-benefits .section-benefits__content-grid:has(.ds-2col) .group-left,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .group-left {
    grid-column: 1;
}

.section-benefits .section-benefits__content-grid:has(.ds-2col) .group-right,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .group-right {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: start;
}

.section-benefits .section-benefits__content-grid:has(.ds-2col) .vesta-section-head:not(:is(.group-left *, .group-right *)),
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .vesta-section-head:not(:is(.group-left *, .group-right *)) {
    grid-column: 1;
    width: 100%;
    text-align: left;
    margin: 0;
    padding: 0;
}

.section-benefits .section-benefits__content-grid:has(.ds-2col) .vesta-section-head:not(:is(.group-left *, .group-right *)) h3,
.section-benefits .section-benefits__content-grid:has(.ds-2col) .vesta-section-head:not(:is(.group-left *, .group-right *)) h3.field--name-field-zagolovok,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .vesta-section-head:not(:is(.group-left *, .group-right *)) h3,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .vesta-section-head:not(:is(.group-left *, .group-right *)) h3.field--name-field-zagolovok {
    margin: 0 0 5px;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
}

.section-benefits .section-benefits__content-grid:has(.ds-2col) .vesta-section-head:not(:is(.group-left *, .group-right *)) h2,
.section-benefits .section-benefits__content-grid:has(.ds-2col) .vesta-section-head:not(:is(.group-left *, .group-right *)) h2.field--name-field-podzagolovok,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .vesta-section-head:not(:is(.group-left *, .group-right *)) h2,
.section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .vesta-section-head:not(:is(.group-left *, .group-right *)) h2.field--name-field-podzagolovok {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: #000;
}


.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    column-gap: clamp(28px, 4vw, 56px);
    row-gap: 16px;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}

.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) > .vesta-section-head {
    grid-column: 1;
    width: 100%;
    text-align: left;
    margin: 0;
    padding: 0;
}

.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) > .vesta-section-head h3 {
    margin: 0 0 5px;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
}

.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) > .vesta-section-head h2 {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: #000;
}

.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) > .vesta-section-head > .contextual {
    display: none;
}

.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) > *:not(.vesta-section-head) {
    display: contents;
}

.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field:not(.field--type-image):not(.field--name-field-image):not(.vesta-section-head .field) {
    grid-column: 1;
    min-width: 0;
}

.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--type-image:not(.vesta-section-head .field--type-image),
.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--name-field-image:not(.vesta-section-head .field--name-field-image) {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: start;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    min-width: 0;
}

.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--type-image:not(.vesta-section-head *) > *,
.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--name-field-image:not(.vesta-section-head *) > * {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
}

.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--type-image:not(.vesta-section-head *) img,
.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--name-field-image:not(.vesta-section-head *) img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 220px;
    max-height: min(420px, 52vh);
    object-fit: cover;
}

.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--type-image:not(.vesta-section-head *)::after,
.section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--name-field-image:not(.vesta-section-head *)::after {
    content: '';
    display: block;
    flex: 0 0 clamp(44px, 5.5vw, 64px);
    width: clamp(44px, 5.5vw, 64px);
    min-width: clamp(44px, 5.5vw, 64px);
    aspect-ratio: 4 / 7;
    min-height: 120px;
    max-height: min(360px, min(420px, 52vh));
    background: url('../image/catalog-deco-tall.png') no-repeat center / contain;
    align-self: flex-start;
    flex-shrink: 0;
}


.section-benefits :is(.block-content, .block__content):is(:has(> .ds-2col), :has(> .ds-2col-fluid:not(.group-one-column))) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    column-gap: clamp(28px, 4vw, 56px);
    row-gap: 28px;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}

.section-benefits :is(.block-content, .block__content):has(> .ds-2col) > .ds-2col,
.section-benefits :is(.block-content, .block__content):has(> .ds-2col-fluid:not(.group-one-column)) > .ds-2col-fluid {
    display: contents;
}

.section-benefits :is(.block-content, .block__content):has(> .ds-2col) > *:not(.ds-2col),
.section-benefits :is(.block-content, .block__content):has(> .ds-2col-fluid:not(.group-one-column)) > *:not(.ds-2col-fluid) {
    grid-column: 1;
}

.section-benefits :is(.block-content, .block__content):has(> .ds-2col) .group-left,
.section-benefits :is(.block-content, .block__content):has(> .ds-2col-fluid:not(.group-one-column)) .group-left {
    grid-column: 1;
}

.section-benefits :is(.block-content, .block__content):has(> .ds-2col) .group-right,
.section-benefits :is(.block-content, .block__content):has(> .ds-2col-fluid:not(.group-one-column)) .group-right {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: start;
}

.section-benefits .group-right {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.section-benefits .group-right > .contextual {
    flex: 0 0 auto;
}

.section-benefits .group-right > *:not(.contextual) {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
}

.section-benefits .group-right .field--type-image,
.section-benefits .group-right .field--name-field-image {
    margin: 0;
}

.section-benefits .group-right img,
.section-benefits .group-right picture img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 220px;
    max-height: min(420px, 52vh);
    object-fit: cover;
}

.section-benefits .group-right::after {
    content: '';
    display: block;
    flex: 0 0 clamp(44px, 5.5vw, 64px);
    width: clamp(44px, 5.5vw, 64px);
    min-width: clamp(44px, 5.5vw, 64px);
    aspect-ratio: 4 / 7;
    min-height: 120px;
    max-height: min(360px, min(420px, 52vh));
    background: url('../image/catalog-deco-tall.png') no-repeat center / contain;
    align-self: flex-start;
    flex-shrink: 0;
}


.section-benefits .section-benefits__col--text .vesta-section-head,
.section-benefits .group-left .vesta-section-head {
    width: 100%;
    text-align: left;
    margin: 0;
    padding: 0;
    justify-items: start;
}

.section-benefits .section-benefits__col--text .vesta-section-head h3,
.section-benefits .section-benefits__col--text .vesta-section-head h3.field--name-field-zagolovok,
.section-benefits .group-left .vesta-section-head h3,
.section-benefits .group-left .vesta-section-head h3.field--name-field-zagolovok {
    margin: 0 0 5px;
    text-align: left;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
}

.section-benefits .section-benefits__col--text .vesta-section-head h2,
.section-benefits .section-benefits__col--text .vesta-section-head h2.field--name-field-podzagolovok,
.section-benefits .group-left .vesta-section-head h2,
.section-benefits .group-left .vesta-section-head h2.field--name-field-podzagolovok {
    margin: 0;
    text-align: left;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: #000;
}

.section-benefits .section-benefits__col--text .block__title,
.section-benefits .section-benefits__col--text .view .view-header .view-title,
.section-benefits .section-benefits__col--text h2:not(.vesta-section-head h2),
.section-benefits .group-left .block__title,
.section-benefits .group-left .view .view-header .view-title,
.section-benefits .group-left h2:not(.vesta-section-head h2) {
    text-align: left;
    margin: 0;
}

@media (max-width: 991px) {
    .section-benefits .section-benefits__grid--two-cols {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .section-benefits .section-benefits__col--media {
        flex-wrap: wrap;
    }

    .section-benefits .section-benefits__col--media::after {
        margin-left: auto;
    }

    .section-benefits .ds-2col,
    .section-benefits .ds-2col-fluid:not(.group-one-column) {
        grid-template-columns: 1fr;
    }

    .section-benefits :is(.block-content, .block__content):is(:has(> .ds-2col), :has(> .ds-2col-fluid:not(.group-one-column))) {
        grid-template-columns: 1fr;
    }

    .section-benefits :is(.block-content, .block__content):has(> .ds-2col) .group-right,
    .section-benefits :is(.block-content, .block__content):has(> .ds-2col-fluid:not(.group-one-column)) .group-right {
        grid-column: 1;
        grid-row: auto;
    }

    .section-benefits .section-benefits__content-grid:has(.ds-2col),
    .section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) {
        grid-template-columns: 1fr;
    }

    .section-benefits .section-benefits__content-grid:has(.ds-2col) .group-right,
    .section-benefits .section-benefits__content-grid:has(.ds-2col-fluid:not(.group-one-column)) .group-right {
        grid-column: 1;
        grid-row: auto;
    }

    .section-benefits .section-benefits__region-layout {
        grid-template-columns: 1fr;
    }

    .section-benefits .section-benefits__region-layout .group-right {
        grid-column: 1;
        grid-row: auto;
    }

    .section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) {
        grid-template-columns: 1fr;
    }

    .section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--type-image:not(.vesta-section-head *),
    .section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--name-field-image:not(.vesta-section-head *) {
        grid-column: 1;
        grid-row: auto;
        flex-wrap: wrap;
    }

    .section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--type-image:not(.vesta-section-head *)::after,
    .section-benefits .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column))) .field--name-field-image:not(.vesta-section-head *)::after {
        margin-left: auto;
    }

    .section-benefits .group-right {
        flex-wrap: wrap;
    }

    .section-benefits .group-right::after {
        margin-left: auto;
    }
}


.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid)) {
    display: contents;
}

.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) > .section-benefits__content-grid {
    display: contents;
}

.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) > .contextual {
    display: none;
}

.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .block-content,
.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .block__content {
    display: contents;
}

.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field:not(.field--type-image):not(.field--name-field-image) {
    grid-column: 1;
    min-width: 0;
}

.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--type-image,
.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--name-field-image {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: start;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    min-width: 0;
}

.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--type-image > *,
.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--name-field-image > * {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
}

.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--type-image img,
.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--name-field-image img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 220px;
    max-height: min(420px, 52vh);
    object-fit: cover;
}

.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--type-image::after,
.section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--name-field-image::after {
    content: '';
    display: block;
    flex: 0 0 clamp(44px, 5.5vw, 64px);
    width: clamp(44px, 5.5vw, 64px);
    min-width: clamp(44px, 5.5vw, 64px);
    aspect-ratio: 4 / 7;
    min-height: 120px;
    max-height: min(360px, min(420px, 52vh));
    background: url('../image/catalog-deco-tall.png') no-repeat center / contain;
    align-self: flex-start;
    flex-shrink: 0;
}

@media (max-width: 991px) {
    .section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--type-image,
    .section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--name-field-image {
        grid-column: 1;
        grid-row: auto;
        flex-wrap: wrap;
    }

    .section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--type-image::after,
    .section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--name-field-image::after {
        margin-left: auto;
    }
}


@media (max-width: 574px) {
    .section-benefits .section-benefits__col--media::after,
    .section-benefits .group-right::after,
    .section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--type-image::after,
    .section-benefits .section-benefits__region-layout > .block:not(.vesta-section-head) .field--name-field-image::after,
    .section-benefits
        .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column)))
        .field--type-image:not(.vesta-section-head *)::after,
    .section-benefits
        .section-benefits__content-grid:has(> .vesta-section-head):not(:has(.ds-2col)):not(:has(.ds-2col-fluid:not(.group-one-column)))
        .field--name-field-image:not(.vesta-section-head *)::after {
        content: none !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        flex: 0 0 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: none !important;
        box-shadow: none !important;
    }
}


.section-benefits .region-benefits ul:not([class*='menu']):not(.contextual-links),
.section-benefits .block ul:not([class*='menu']):not(.contextual-links),
.section-benefits .text-formatted ul:not([class*='menu']):not(.contextual-links) {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.section-benefits .region-benefits ul:not([class*='menu']):not(.contextual-links) > li,
.section-benefits .block ul:not([class*='menu']):not(.contextual-links) > li,
.section-benefits .text-formatted ul:not([class*='menu']):not(.contextual-links) > li {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    margin: 0 0 22px;
    padding: 0;
    min-height: 34px;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    line-height: 1.35;
    color: var(--vesta-dark);
}

.section-benefits .region-benefits ul:not([class*='menu']):not(.contextual-links) > li:last-child,
.section-benefits .block ul:not([class*='menu']):not(.contextual-links) > li:last-child,
.section-benefits .text-formatted ul:not([class*='menu']):not(.contextual-links) > li:last-child {
    margin-bottom: 0;
}

.section-benefits .region-benefits ul:not([class*='menu']):not(.contextual-links) > li::before,
.section-benefits .block ul:not([class*='menu']):not(.contextual-links) > li::before,
.section-benefits .text-formatted ul:not([class*='menu']):not(.contextual-links) > li::before,
.section-benefits .group-left ul:not([class*='menu']):not(.contextual-links) > li::before,
.section-benefits .field--type-text-with-summary .text-formatted ul:not([class*='menu']):not(.contextual-links) > li::before {
    content: '';
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    background: url('../image/benefit-icon-check.svg') no-repeat center / contain;
}


.section-benefits .region-benefits ul:not([class*='menu']):not(.contextual-links) > li:first-child,
.section-benefits .block ul:not([class*='menu']):not(.contextual-links) > li:first-child,
.section-benefits .text-formatted ul:not([class*='menu']):not(.contextual-links) > li:first-child,
.section-benefits .group-left ul:not([class*='menu']):not(.contextual-links) > li:first-child,
.section-benefits .field--type-text-with-summary .text-formatted ul:not([class*='menu']):not(.contextual-links) > li:first-child {
    display: block;
    min-height: 0;
    font-family: var(--vesta-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--vesta-dark);
    margin: 0 0 14px;
    padding: 0;
    gap: 0;
}

.section-benefits .region-benefits ul:not([class*='menu']):not(.contextual-links) > li:first-child:not(:only-of-type),
.section-benefits .block ul:not([class*='menu']):not(.contextual-links) > li:first-child:not(:only-of-type),
.section-benefits .text-formatted ul:not([class*='menu']):not(.contextual-links) > li:first-child:not(:only-of-type),
.section-benefits .group-left ul:not([class*='menu']):not(.contextual-links) > li:first-child:not(:only-of-type),
.section-benefits .field--type-text-with-summary .text-formatted ul:not([class*='menu']):not(.contextual-links) > li:first-child:not(:only-of-type) {
    margin-bottom: 56px;
}

.section-benefits .region-benefits ul:not([class*='menu']):not(.contextual-links) > li:first-child::before,
.section-benefits .block ul:not([class*='menu']):not(.contextual-links) > li:first-child::before,
.section-benefits .text-formatted ul:not([class*='menu']):not(.contextual-links) > li:first-child::before,
.section-benefits .group-left ul:not([class*='menu']):not(.contextual-links) > li:first-child::before,
.section-benefits .field--type-text-with-summary .text-formatted ul:not([class*='menu']):not(.contextual-links) > li:first-child::before {
    content: none;
    display: none;
    flex: 0 0 0;
    width: 0;
    height: 0;
    margin: 0;
    background: none;
}

.section-benefits .region-benefits ul:not([class*='menu']):not(.contextual-links) > li:first-child:only-of-type,
.section-benefits .block ul:not([class*='menu']):not(.contextual-links) > li:first-child:only-of-type,
.section-benefits .text-formatted ul:not([class*='menu']):not(.contextual-links) > li:first-child:only-of-type,
.section-benefits .group-left ul:not([class*='menu']):not(.contextual-links) > li:first-child:only-of-type,
.section-benefits .field--type-text-with-summary .text-formatted ul:not([class*='menu']):not(.contextual-links) > li:first-child:only-of-type {
    margin-bottom: 0;
}

.section-benefits ul:not([class*='menu']):not(.contextual-links) > li p {
    margin: 0;
}


.section-benefits .text-formatted > p:first-of-type,
.section-benefits .field--type-text-with-summary.text-formatted > p:first-of-type {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    color: var(--vesta-dark);
}

.section-benefits .text-formatted > p:first-of-type::before,
.section-benefits .field--type-text-with-summary.text-formatted > p:first-of-type::before {
    content: none;
    display: none;
    flex: 0 0 0;
    width: 0;
    height: 0;
    margin: 0;
    background: none;
}

.section-benefits .text-formatted > p:first-of-type:has(~ ul),
.section-benefits .text-formatted > p:first-of-type:has(~ p),
.section-benefits .field--type-text-with-summary.text-formatted > p:first-of-type:has(~ ul),
.section-benefits .field--type-text-with-summary.text-formatted > p:first-of-type:has(~ p) {
    margin-bottom: 56px;
}

.section-benefits .text-formatted > p:not(:first-of-type):not(:has(> span:nth-of-type(2))) {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    margin: 0 0 22px;
    padding: 0;
    min-height: 34px;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    line-height: 1.35;
    color: var(--vesta-dark);
}

.section-benefits .text-formatted > p:not(:first-of-type):not(:has(> span:nth-of-type(2)))::before {
    content: '';
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    background: url('../image/benefit-icon-check.svg') no-repeat center / contain;
}

.section-benefits .text-formatted > p:not(:first-of-type):not(:has(> span:nth-of-type(2))):last-child {
    margin-bottom: 0;
}


.section-benefits .text-formatted p:has(> span:nth-of-type(2)),
.section-benefits .field--type-text-with-summary.text-formatted p:has(> span:nth-of-type(2)) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin: 0 0 14px;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    line-height: 1.35;
    color: var(--vesta-dark);
}

.section-benefits .text-formatted p:has(> span:nth-of-type(2)) > br,
.section-benefits .field--type-text-with-summary.text-formatted p:has(> span:nth-of-type(2)) > br {
    display: none;
}

.section-benefits .text-formatted p:has(> span:nth-of-type(2)) > span,
.section-benefits .field--type-text-with-summary.text-formatted p:has(> span:nth-of-type(2)) > span {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    margin: 0;
    min-height: 34px;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    line-height: 1.35;
    color: var(--vesta-dark);
}

.section-benefits .text-formatted p:has(> span:nth-of-type(2)) > span::before,
.section-benefits .field--type-text-with-summary.text-formatted p:has(> span:nth-of-type(2)) > span::before {
    content: '';
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    background: url('../image/benefit-icon-check.svg') no-repeat center / contain;
}


.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type,
.section-benefits .group-left .field--name-body .text-formatted > p:first-of-type > span:first-of-type {
    font-family: var(--vesta-font-heading);
    font-size: 26px;
    line-height: 32px;
    font-weight: 700;
    color: #000;
}

.section-benefits .group-left .field--name-body .text-formatted p:has(> span:nth-of-type(2)) > span:first-of-type::before,
.section-benefits .group-left .field--name-body .text-formatted > p:first-of-type > span:first-of-type::before {
    content: none;
    display: none;
    flex: 0 0 0;
    width: 0;
    height: 0;
    margin: 0;
    background: none;
}


.section-benefits .section-benefits__col--text > *:nth-child(n + 3) .text-formatted > p:only-of-type {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    margin: 0 0 22px;
    min-height: 34px;
    font-size: 17px;
    line-height: 1.35;
}

.section-benefits .section-benefits__col--text > *:nth-child(n + 3) .text-formatted > p:only-of-type::before {
    content: '';
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    background: url('../image/benefit-icon-check.svg') no-repeat center / contain;
}


.section-benefits .text-formatted:has(> ul) > p:first-of-type {
    display: block;
    width: 100%;
    margin: 0 0 16px;
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 14px;
    line-height: normal;
    color: var(--vesta-dark);
}

.section-benefits .text-formatted:has(> ul) > p:first-of-type::before {
    content: none;
    flex: 0 0 0;
    width: 0;
    height: 0;
    margin: 0;
    background: none;
}

@media (max-width: 767px) {
    .section-benefits .region-benefits ul:not([class*='menu']):not(.contextual-links) > li,
    .section-benefits .block ul:not([class*='menu']):not(.contextual-links) > li,
    .section-benefits .text-formatted ul:not([class*='menu']):not(.contextual-links) > li,
    .section-benefits .text-formatted > p,
    .section-benefits .text-formatted p:has(> span:nth-of-type(2)) > span,
    .section-benefits .field--type-text-with-summary.text-formatted p:has(> span:nth-of-type(2)) > span {
        font-size: 15px;
    }

    .section-benefits .vesta-section-head h2,
    .section-benefits .vesta-section-head h2.field--name-field-podzagolovok,
    .section-benefits .section-benefits__col--text .vesta-section-head h2,
    .section-benefits .section-benefits__col--text .vesta-section-head h2.field--name-field-podzagolovok,
    .section-benefits .group-left .vesta-section-head h2,
    .section-benefits .group-left .vesta-section-head h2.field--name-field-podzagolovok {
        font-size: 22px;
        line-height: 28px;
    }
}

.product-view-full button.slick-prev.slick-arrow {
    left: -25px;
}

.product-view-full button.slick-next.slick-arrow {
    right: -25px;
}


.product-full__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
    margin-bottom: 48px;
}

.product-full__image {
    position: relative;
    margin-top: 40px;
}

.product-full__image .group-full-img {
    border-radius: 4px;
    overflow: hidden;
    background: #f5f6f8;
}

.product-full__image .group-full-img img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.product-view-full .field--name-field-image-product-view .field__item + .field__item {
    margin-top: 10px;
}

.product-full__title {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
    color: var(--vesta-dark);
    margin: 0 0 24px;
}

.product-full__title:has(+ .product-full__lead) {
    margin-bottom: 12px;
}


.product-full__lead {
    font-family: var(--vesta-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--vesta-dark);
    margin: 0 0 20px;
}

.product-full__lead p {
    margin: 0 0 0.75em;
}

.product-full__lead p:last-child {
    margin-bottom: 0;
}

.product-full__params {
    margin-bottom: 24px;
    font-family: var(--vesta-font-body);
    font-size: 15px;
    line-height: 1.6;
    color: var(--vesta-dark);
}

.product-full__meta {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 20px;
    padding: 16px;
    background: #f5f6f8;
    border-radius: 4px;
}

.product-full__meta-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.product-full__meta-label {
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4;
    color: #6b7280;
}

.product-full__meta-value {
    font-family: var(--vesta-font-body);
    font-weight: 600;
    font-size: 18px;
    line-height: 1.4;
    color: var(--vesta-dark);
}

.product-full__meta-value--price {
    font-family: var(--vesta-font-body);
    font-weight: 600;
    font-size: 18px;
    line-height: 1.4;
    color: #000;
}

.product-full__meta-value--price .field--name-price {
    display: inline;
}

.product-full__price-prefix {
    font-size: 18px;
    font-weight: 400;
    color: #000;
}

.product-full__cta {
    margin-bottom: 8px;
}

.product-full__cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 320px;
    min-height: 50px;
    padding: 15px 24px;
    box-sizing: border-box;
    background: transparent;
    color: var(--vesta-dark);
    font-family: var(--vesta-font-heading);
    font-weight: 400;
    font-size: 17px;
    line-height: 20px;
    text-decoration: none;
    border: 1px solid var(--vesta-dark);
    border-radius: 0;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.product-full__cta-btn:hover,
.product-full__cta-btn:focus-visible {
    background: var(--vesta-accent);
    border-color: var(--vesta-accent);
    color: var(--vesta-dark);
    text-decoration: none;
}


.product-full__meta-value--price:has(.product-teaser-price-row) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    white-space: normal;
    width: 100%;
    max-width: 100%;
}

.product-full__meta-value--price .product-teaser-price-row {
    width: 100%;
    max-width: 100%;
    margin: 0;
    justify-content: flex-start;
}

.product-full__meta-value--price .product-teaser-price-row .col-lg-6 {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}

.product-view-full .product-full__cart {
    margin-top: 20px;
    margin-bottom: 8px;
}


.product-view-full .product-full__cart .form-actions,
.product-view-full .product-full__cart input[type="submit"].form-submit,
.product-view-full .product-full__cart button[type="submit"],
.product-full__cart .commerce-order-item-add-to-cart-form .form-actions,
.product-full__cart .commerce-order-item-add-to-cart-form input[type="submit"],
.product-full__cart .commerce-order-item-add-to-cart-form button[type="submit"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.product-full__cart .commerce-order-item-add-to-cart-form {
    position: relative;
}

.product-full__cart .commerce-order-item-add-to-cart-form .form-item-quantity,
.product-full__cart .commerce-order-item-add-to-cart-form .js-form-item-quantity,
.product-full__cart .commerce-order-item-add-to-cart-form .field--name-quantity,
.product-full__cart .form-item-quantity,
.product-full__cart .js-form-item-quantity {
    display: none !important;
}


.product-view-full .field--name-variations .field__item:has(> a[href*="?v="]) {
    display: none;
}

.product-view-full .product-full__cta-modal-wrap .ajax-progress .throbber,
.product-view-full .product-full__cta-modal-wrap .ajax-progress .message {
    margin: 0;
}


.product-view-full.product-full--ds-2col {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 40px;
    padding-top: 40px;
}


.product-view-full.product-full--ds-2col > .group-left.product-full__image {
    margin-top: 0;
}

.product-view-full.product-full--ds-2col > .group-left {
    float: none;
    flex: 0 1 auto;
    width: auto;
    max-width: min(50%, 100%);
    box-sizing: border-box;
    padding-right: 0;
}


.product-view-full.product-full--ds-2col > .group-left .field--name-field-image-product-view {
    max-width: min(100%, 420px);
    margin-left: auto;
    margin-right: 0;
}

.product-view-full.product-full--ds-2col > .group-right {
    float: none;
    flex: 1 1 280px;
    min-width: 0;
    box-sizing: border-box;
    padding-left: 0;
}

.product-view-full.product-full--ds-2col .product-full__title {
    margin-top: 0;
}


.product-view-full.product-full--ds-2col .product-full__meta {
    width: 100%;
    max-width: 320px;
    box-sizing: border-box;
    margin-top: -10px;
}


.product-view-full.product-full--ds-2col .product-full__meta--inline-meta {
    max-width: 100%;
}


.product-view-full .product-full__meta--inline-meta .product-teaser-meta {
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 0;
    flex-wrap: nowrap;
    box-sizing: border-box;
}

.product-view-full .product-full__meta--inline-meta .product-teaser-meta__col--term {
    flex: 0 1 48.5%;
    min-width: 0;
    max-width: 48.5%;
    margin-left: 0;
    align-items: flex-start;
    text-align: left;
    box-sizing: border-box;
}

.product-view-full .product-full__meta--inline-meta .product-teaser-meta__col--price {
    flex: 0 1 48.5%;
    min-width: 0;
    max-width: 48.5%;
    margin-left: 3%;
    align-items: flex-start;
    text-align: left;
    box-sizing: border-box;
}


.product-view-full .product-full__meta--inline-meta .product-teaser-meta__label,
.product-view-full .product-full__meta--inline-meta .product-teaser-meta__label--term,
.product-view-full .product-full__meta--inline-meta .product-teaser-meta__label--cost {
    font-family: var(--vesta-font-body);
    font-size: 17px;
    line-height: 20px;
    font-weight: 400;
    color: #aeaeae;
}

.product-view-full .product-full__meta--inline-meta .product-teaser-meta__value,
.product-view-full .product-full__meta--inline-meta .product-teaser-meta__value--price {
    font-family: var(--vesta-font-body);
    font-size: 20px;
    line-height: 23px;
    font-weight: 600;
    color: var(--vesta-dark);
}

@media screen and (max-width: 991px) {
    .product-view-full.product-full--ds-2col {
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .product-view-full.product-full--ds-2col > .group-left,
    .product-view-full.product-full--ds-2col > .group-right {
        float: none;
        width: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .product-view-full.product-full--ds-2col > .group-left .field--name-field-image-product-view {
        margin-left: 0;
        max-width: 100%;
    }

    .product-view-full.product-full--ds-2col .product-full__meta {
        width: 100%;
        max-width: 320px;
        margin-top: 0;
        align-self: flex-start;
        box-sizing: border-box;
    }

    .product-view-full.product-full--ds-2col .product-full__meta--inline-meta {
        max-width: 100%;
    }
}


.product-full__tabs-wrap {
    margin-top: 8px;
    clear: both;
}

.product-full__tabs.nav-tabs {
    border-bottom: 2px solid #e5e7eb;
}

.product-full__tabs .nav-link {
    font-family: var(--vesta-font-heading);
    font-weight: 600;
    font-size: 14px;
    color: #6b7280;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 12px 20px;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
}

.product-full__tabs .nav-link:hover {
    color: var(--vesta-dark);
    border-bottom-color: var(--vesta-accent);
}

.product-full__tabs .nav-link.active {
    color: var(--vesta-dark);
    border-bottom-color: var(--vesta-accent);
    background: none;
}

.product-full__tab-content {
    padding: 24px 0;
    font-family: var(--vesta-font-body);
    font-size: 15px;
    line-height: 1.6;
    color: var(--vesta-dark);
}

.product-full__tab-content p {
    margin: 0 0 12px;
}

.product-full__body {
    margin-top: 8px;
    font-family: var(--vesta-font-body);
    font-size: 15px;
    line-height: 1.6;
    color: var(--vesta-dark);
}

.product-full__body p {
    margin: 0 0 12px;
}

@media screen and (max-width: 991px) {
    .product-full__grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .product-full__title {
        font-size: 24px;
    }

    .product-full__meta-value--price {
        font-size: 22px;
    }
}

@media screen and (max-width: 767px) {
    .product-full__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .product-full__title {
        font-size: 20px;
    }

    .product-full__cta-btn {
        max-width: min(100%, 320px);
    }

    .product-full__tabs .nav-link {
        font-size: 12px;
        padding: 10px 14px;
    }
}


@media (max-width: 574px) {
    .product-view-full .product-full__grid,
    .product-view-full .product-full__info,
    .product-view-full .group-right {
        text-align: left;
        justify-items: start;
    }

    .product-view-full .product-full__info,
    .product-view-full .group-right.product-full__info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .product-view-full .product-full__title,
    .product-view-full .product-full__params,
    .product-view-full .product-full__meta,
    .product-view-full .product-full__body,
    .product-view-full .product-full__tab-content {
        text-align: left;
        margin-left: 0;
        margin-right: 0;
    }

    .product-view-full .product-full__meta-row {
        align-items: flex-start;
    }

    
    .product-view-full .product-full__meta--inline-meta .product-teaser-meta {
        flex-wrap: wrap;
    }

    .product-view-full .product-full__meta--inline-meta .product-teaser-meta__col--term {
        width: 100%;
        max-width: 100%;
        flex: 1 1 100%;
    }

    .product-view-full .product-full__meta--inline-meta .product-teaser-meta__col--price {
        width: 100%;
        max-width: 100%;
        flex: 1 1 100%;
        margin-left: 0;
        margin-top: 12px;
    }

    .product-view-full .product-full__image {
        margin-left: 0;
        margin-right: auto;
    }

    .product-view-full .product-full__cta {
        width: min(100%, 320px);
        max-width: min(100%, 320px);
        box-sizing: border-box;
    }

    .product-view-full .product-full__cta-btn {
        margin-left: 0;
        margin-right: auto;
        width: 100%;
        max-width: none;
        box-sizing: border-box;
        font-size: 14px;
        line-height: 1.25;
    }

    .product-view-full .product-full__meta-value--price,
    .product-view-full .product-full__meta-value--price .field--name-price,
    .product-view-full .product-full__price-prefix,
    .product-view-full .product-full__meta-value--price .product-teaser-price-row {
        font-size: 18px !important;
        line-height: 1.35;
        justify-content: flex-start;
    }

    
    .product-view-full .product-full__meta--inline-meta .product-teaser-meta__label,
    .product-view-full .product-full__meta--inline-meta .product-teaser-meta__label--term,
    .product-view-full .product-full__meta--inline-meta .product-teaser-meta__label--cost {
        font-size: 12px;
        line-height: 15px;
    }

    .product-view-full .product-full__meta--inline-meta .product-teaser-meta__value,
    .product-view-full .product-full__meta--inline-meta .product-teaser-meta__value--price,
    .product-view-full .product-full__meta--inline-meta .product-teaser-price-prefix,
    .product-view-full .product-full__meta--inline-meta .product-teaser-meta__value--price .field--name-price,
    .product-view-full .product-full__meta--inline-meta .product-teaser-meta__value--price .product-teaser-price-row {
        font-size: 14px !important;
        line-height: 18px;
        justify-content: flex-start;
    }

    .product-view-full .product-full__meta-value--price:has(.product-teaser-price-row) {
        align-items: flex-start;
    }

    .product-view-full .product-full__meta-value--price .product-teaser-price-row {
        justify-content: flex-start;
    }

    .product-view-full .product-full__meta--inline-meta .product-teaser-meta__value--price:has(.product-teaser-price-row) {
        align-items: flex-start;
    }

    .product-view-full .product-full__meta--inline-meta .product-teaser-meta__value--price .product-teaser-price-row {
        justify-content: flex-start;
    }

    .product-view-full .product-full__meta .row.product-teaser-price-row {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        max-width: 100%;
    }

    .product-view-full .product-full__meta .product-teaser-price-row > [class*='col-'] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .product-view-full .product-full__meta {
        width: min(100%, 320px);
        max-width: min(100%, 320px);
        min-width: 0;
        align-self: flex-start;
        box-sizing: border-box;
        overflow-x: clip;
        margin-bottom: 8px;
    }

    .product-view-full .product-full__cart {
        margin-top: 8px;
        margin-bottom: 4px;
    }

    .product-view-full .product-full__cta {
        margin-top: 0;
    }
}

.node--view-mode-full .field--name-body img {
    margin: 0 10px;
}

#footer.site-footer {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: relative;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: auto;
    padding: 25px clamp(16px, 4vw, 48px) 32px;
    font-family: var(--vesta-font-body);
    color: #fff;
    background: var(--vesta-dark);
}

@media screen and (min-width: 1400px) {
    #footer.site-footer {
        padding-left: clamp(16px, max(0px, calc((100% - 1170px) / 2)), 375px);
        padding-right: clamp(16px, max(0px, calc((100% - 1170px) / 2)), 375px);
    }
}

#footer .footer-inner {
    width: 100%;
}

#footer .footer-inner .container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

#footer .footer-main-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px 32px;
    align-items: start;
}

#footer .footer-top__brand {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

#footer .footer-col--company {
    grid-column: 1;
    grid-row: 2;
}

#footer .footer-col--catalog {
    grid-column: 2;
    grid-row: 2;
}

#footer .footer-col--services {
    grid-column: 3;
    grid-row: 2;
}

#footer .footer-col--contacts {
    grid-column: 4;
    grid-row: 2;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
}

#footer .footer-top__logo {
    max-width: 100%;
}

#footer .footer-top__logo .logo-link.footer-brand-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    max-width: 100%;
    text-decoration: none;
    color: #fff;
}

#footer .footer-top__logo .logo-link.footer-brand-link:hover,
#footer .footer-top__logo .logo-link.footer-brand-link:focus-visible {
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
}

#footer .footer-top__logo .logo-img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    height: 80px;
    padding: 8px 10px;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
}

#footer .footer-top__logo .logo-img {
    display: block;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
    vertical-align: middle;
}

#footer .footer-top__logo .logo-link .logo-subbrand__name {
    color: #fff;
}

#footer .footer-top__logo .logo-link .logo-title {
    color: #fff;
    font-size: 16px;
    line-height: 1.25;
    max-width: 12em;
}

#footer .footer-top__copyright {
    margin: 0;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.9);
    max-width: 100%;
    overflow-wrap: break-word;
    word-wrap: break-word;
}


#footer .vesta-legal-disclaimer,
#footer .footer-disclaimer {
    margin: 12px 0 0;
    max-width: 100%;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.82);
    overflow-wrap: break-word;
    word-wrap: break-word;
}

@media screen and (max-width: 991px) {
    #footer .footer-top__copyright {
        line-height: 1.42;
    }

    #footer .vesta-legal-disclaimer,
    #footer .footer-disclaimer {
        font-size: 12px;
        margin-top: 10px;
    }
}

@media screen and (max-width: 575px) {
    #footer .vesta-legal-disclaimer,
    #footer .footer-disclaimer {
        font-size: 12px;
        line-height: 1.5;
    }
}

#footer .btn-callback.footer-callback-top {
    grid-column: 4;
    grid-row: 1;
    align-self: start;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
    min-height: 48px;
    padding: 15px 12px;
    font-family: var(--vesta-font-heading);
    font-size: 12px;
    font-weight: 500;
    line-height: normal;
    color: var(--vesta-dark);
    text-decoration: none;
    background: var(--vesta-accent);
    border: none;
    border-radius: 0;
    flex-shrink: 0;
    transition: background 0.2s ease, color 0.2s ease;
}

#footer .btn-callback.footer-callback-top:hover,
#footer .btn-callback.footer-callback-top:focus-visible {
    color: var(--vesta-dark);
    background: var(--vesta-accent-hover);
}

#footer .footer-col__title {
    margin: 0 0 14px;
    font-family: var(--vesta-font-heading);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
}

#footer .footer-col__legal {
    grid-column: 1 / -1;
    grid-row: 3;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 24px;
    padding-top: 0;
}

#footer .footer-col__legal a {
    font-size: 13px;
    font-weight: 400;
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

#footer .footer-col__legal a:hover,
#footer .footer-col__legal a:focus-visible {
    color: var(--vesta-accent);
}


#footer .footer-col__menu .block-title,
#footer .footer-col__menu nav.block-menu > div[id$="-menu"] {
    display: none !important;
}

#footer .footer-col__menu nav[role="navigation"],
#footer .footer-menu-block.navigation {
    margin: 0;
    padding: 0;
}

#footer .footer-col__menu ul.nav,
#footer .footer-col__menu .header-main-menu,
#footer .footer-menu-block ul.nav,
#footer .footer-menu-block .header-main-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

#footer .footer-col__menu .nav-item,
#footer .footer-menu-block .nav-item {
    margin: 0;
    width: 100%;
}

#footer .footer-col__menu .nav-item.dropdown,
#footer .footer-menu-block .nav-item.dropdown {
    position: static;
}

#footer .footer-col__menu .nav-link,
#footer .footer-menu-block .nav-link {
    display: inline-block;
    padding: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    color: #fff;
    text-decoration: none;
    white-space: normal;
}

#footer .footer-col__menu .nav-link:hover,
#footer .footer-col__menu .nav-link:focus-visible,
#footer .footer-menu-block .nav-link:hover,
#footer .footer-menu-block .nav-link:focus-visible {
    color: var(--vesta-accent);
}

#footer .footer-col__menu .dropdown-toggle::after,
#footer .footer-menu-block .dropdown-toggle::after {
    display: none;
}

#footer .footer-col__menu .dropdown-menu,
#footer .footer-menu-block .dropdown-menu {
    position: static;
    display: block !important;
    min-width: 0;
    margin: 6px 0 0 0;
    padding: 0 0 0 14px;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

#footer .footer-col__menu .dropdown-item,
#footer .footer-menu-block .dropdown-item {
    display: block;
    padding: 4px 0;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.92);
    text-decoration: none;
    white-space: normal;
}

#footer .footer-col__menu .dropdown-item:hover,
#footer .footer-col__menu .dropdown-item:focus-visible,
#footer .footer-menu-block .dropdown-item:hover,
#footer .footer-menu-block .dropdown-item:focus-visible {
    background: transparent;
    color: var(--vesta-accent);
}

#footer .footer-contact-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 0 16px;
}

#footer .footer-contact-group .contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    color: #fff;
}

#footer .footer-contact-group .contact-item .icon {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--vesta-accent);
}

#footer .footer-contact-group .contact-item a {
    color: #fff;
    text-decoration: none;
    word-break: break-word;
}

#footer .footer-contact-group .contact-item a:hover,
#footer .footer-contact-group .contact-item a:focus-visible {
    color: var(--vesta-accent);
}

#footer .footer-social {
    gap: 8px;
}

#footer .footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    color: #fff;
}

#footer .footer-social svg,
#footer .footer-social a img {
    width: 25px;
    height: 25px;
    display: block;
}

@media screen and (min-width: 1200px) {
    #footer.site-footer {
        min-height: 434px;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    #footer .footer-main-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px 12px;
    }

    #footer .footer-top__brand {
        grid-column: 1;
        grid-row: 1;
    }

    #footer .btn-callback.footer-callback-top {
        grid-column: 4;
        grid-row: 1;
        justify-self: end;
        padding: 15px 12px;
        font-size: 12px;
        font-weight: 500;
        min-height: 44px;
    }

    #footer .footer-col--company {
        grid-column: 1;
        grid-row: 2;
    }

    #footer .footer-col--catalog {
        grid-column: 2;
        grid-row: 2;
    }

    #footer .footer-col--services {
        grid-column: 3;
        grid-row: 2;
    }

    #footer .footer-col--contacts {
        grid-column: 4;
        grid-row: 2;
    }

    #footer .footer-col__title {
        font-size: 14px;
        margin-bottom: 10px;
    }

    #footer .footer-col__menu .nav-link,
    #footer .footer-menu-block .nav-link {
        font-size: 13px;
    }

    #footer .footer-col__legal {
        grid-column: 1 / -1;
        grid-row: 3;
        margin-top: 16px;
    }
}

@media screen and (max-width: 991px) {
    #footer .footer-main-grid {
        position: relative;
        grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
        grid-auto-rows: auto;
        align-items: center;
        gap: 12px 14px;
    }

    #footer .footer-col--catalog,
    #footer .footer-col--services {
        display: none !important;
    }

    
    #footer .footer-top__brand {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        min-width: 0;
    }

    #footer .btn-callback.footer-callback-top {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        align-self: center;
        min-width: min(170px, 100%);
        padding: 15px 12px;
        font-size: 12px;
        font-weight: 500;
    }

    #footer .footer-col--company {
        display: contents;
    }

    
    #footer .footer-col--company .footer-col__title {
        grid-column: 1 / -1;
        grid-row: 1;
        justify-self: center;
        align-self: start;
        width: 1px;
        height: 1px;
        margin: 0;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    #footer .footer-col--company .footer-col__menu {
        grid-column: 2;
        grid-row: 1;
        justify-self: stretch;
        align-self: center;
        min-width: 0;
        width: 100%;
        max-width: 100%;
    }

    #footer .footer-col--company .footer-col__menu ul.nav,
    #footer .footer-col--company .footer-col__menu .header-main-menu {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 8px 12px;
    }

    #footer .footer-col--company .footer-col__menu .nav-item {
        width: auto;
    }

    #footer .footer-col--contacts {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: center;
        text-align: center;
        align-items: center;
        width: 100%;
        max-width: 560px;
        margin: 0 auto;
    }

    #footer .footer-col--contacts .footer-contact-group,
    #footer .footer-col--contacts .footer-social {
        justify-content: center;
        align-items: center;
    }

    #footer .footer-col--contacts .contact-item {
        justify-content: center;
        text-align: left;
    }

    #footer .footer-col__legal {
        grid-column: 1 / -1;
        grid-row: 3;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-top: 4px;
        text-align: center;
        align-items: center;
    }

    #footer.site-footer {
        padding-top: 20px;
        padding-bottom: 24px;
    }
}

@media screen and (max-width: 767px) {
    #footer.site-footer {
        padding-top: 16px;
        padding-bottom: 20px;
    }

    #footer .footer-col--company {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #footer .footer-main-grid {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto auto;
        align-items: center;
        gap: 20px 16px;
    }

    #footer .footer-top__brand {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
    }

    #footer .btn-callback.footer-callback-top {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        align-self: center;
        width: auto;
        min-width: 200px;
        max-width: min(280px, 100%);
    }

    #footer .footer-col--contacts {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: center;
        text-align: center;
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
    }

    #footer .footer-col--contacts .footer-contact-group,
    #footer .footer-col--contacts .footer-social {
        justify-content: center;
        align-items: center;
    }

    #footer .footer-col--contacts .contact-item {
        justify-content: center;
        text-align: left;
    }

    #footer .footer-col--company {
        grid-column: 1 / -1;
        grid-row: 3;
        justify-self: center;
        text-align: center;
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
    }

    #footer .footer-col--company .footer-col__title,
    #footer .footer-col--catalog .footer-col__title,
    #footer .footer-col--services .footer-col__title,
    #footer .footer-col--company .footer-col__menu,
    #footer .footer-col--catalog .footer-col__menu,
    #footer .footer-col--services .footer-col__menu {
        display: none !important;
    }

    #footer .footer-col__legal {
        grid-column: 1 / -1;
        grid-row: 4;
        width: auto;
        max-width: 100%;
        margin-left: 0;
        margin-top: 0;
        text-align: center;
        align-items: center;
    }

    #footer .footer-col--catalog,
    #footer .footer-col--services {
        display: none !important;
    }
}

@media screen and (max-width: 575px) {
    #footer .footer-top__logo .logo-img-wrap {
        height: 64px;
    }

    #footer .footer-top__logo .logo-img {
        max-height: 64px;
    }

    #footer .footer-top__logo .logo-link .logo-subbrand__name {
        font-size: 10px;
    }

    #footer .footer-contact-group .contact-item {
        font-size: 13px;
    }
}

@media screen and (max-width: 396px) {
    #footer .btn-callback.footer-callback-top {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }
}


.front-feedback {
    --fb-bg: var(--vesta-dark);
    --fb-accent: var(--vesta-accent);
    --fb-text: #ffffff;
    --fb-input-bg: rgba(251, 252, 255, 0.3);
    --fb-btn-text: #0d141a;
    background: var(--fb-bg);
    color: var(--fb-text);
}

.front-feedback__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 30px;
    gap: 35px;
    box-sizing: border-box;
}

.front-feedback__region {
    width: 100%;
    max-width: 971px;
    overflow: visible;
}

.front-feedback__region .block {
    margin: 0;
}


.front-feedback .webform-submission-form {
    box-sizing: border-box;
    padding-left: clamp(12px, 3vw, 28px);
    padding-right: clamp(12px, 3vw, 28px);
}

@media (max-width: 574px) {
    .front-feedback .webform-submission-form {
        padding-left: 0;
        padding-right: 0;
    }
}


.front-feedback .block h2.block-title,
.front-feedback .block h2.front-feedback__block-title,
.front-feedback h2.block-title.front-feedback__block-title,
.front-feedback .block-title,
.front-feedback .front-feedback__block-title {
    margin: 0 auto 35px;
    max-width: 870px;
    width: 100%;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--fb-text);
    text-align: center;
}


.front-feedback .block .field--name-body {
    margin: 0 auto 35px;
    max-width: 870px;
    width: 100%;
    text-align: center;
}

.front-feedback .block .field--name-body .field__item,
.front-feedback .block .field--name-body .text-formatted {
    font-family: var(--vesta-font-heading);
}

.front-feedback .block .field--name-body p {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}


.front-feedback .block .field--name-body p br {
    display: none;
}

.front-feedback .block .field--name-body p span:first-of-type {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--fb-accent);
}

.front-feedback .block .field--name-body p span:nth-of-type(2) {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--fb-text);
}

.front-feedback .block .field--name-body p span:only-of-type {
    font-size: 26px;
    line-height: 32px;
    color: var(--fb-text);
}


.front-feedback .block .field--name-field-body {
    margin: 0 auto 35px;
    max-width: 870px;
    width: 100%;
    text-align: center;
}

.front-feedback .block .field--name-field-body .field__item,
.front-feedback .block .field--name-field-body .text-formatted {
    font-family: var(--vesta-font-heading);
}

.front-feedback .block .field--name-field-body p {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.front-feedback .block .field--name-field-body p br {
    display: none;
}

.front-feedback .block .field--name-field-body p span:first-of-type {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--fb-accent);
}

.front-feedback .block .field--name-field-body p span:nth-of-type(2) {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--fb-text);
}

.front-feedback .block .field--name-field-body p span:only-of-type {
    font-size: 26px;
    line-height: 32px;
    color: var(--fb-text);
}


.front-feedback .block .field--name-body h2,
.front-feedback .block .field--name-body h3,
.front-feedback .block .field--name-field-body h2,
.front-feedback .block .field--name-field-body h3 {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--fb-text);
    text-align: center;
}

.front-feedback .block .field--name-body p:not(:has(span)),
.front-feedback .block .field--name-field-body p:not(:has(span)) {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--fb-text);
}


.front-feedback .webform-submission-form > .form-type-webform-markup,
.front-feedback .webform-submission-form > .js-form-type-webform-markup {
    flex: 0 0 100%;
    width: 100%;
    max-width: 870px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.front-feedback .webform-submission-form > .form-type-webform-markup p:first-of-type,
.front-feedback .webform-submission-form > .js-form-type-webform-markup p:first-of-type {
    margin: 0 0 10px;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--fb-accent);
}

.front-feedback .webform-submission-form > .form-type-webform-markup p:nth-of-type(2),
.front-feedback .webform-submission-form > .js-form-type-webform-markup p:nth-of-type(2) {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--fb-text);
}

.front-feedback .webform-submission-form > .form-type-webform-markup p:only-of-type,
.front-feedback .webform-submission-form > .js-form-type-webform-markup p:only-of-type {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--fb-text);
}


.front-feedback .webform-submission-form .webform-flexbox > .form-type-webform-markup,
.front-feedback .webform-submission-form .webform-flexbox > .js-form-type-webform-markup {
    flex: 1 1 100%;
    width: 100%;
    max-width: 870px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.front-feedback .webform-submission-form .webform-flexbox > .form-type-webform-markup p:first-of-type,
.front-feedback .webform-submission-form .webform-flexbox > .js-form-type-webform-markup p:first-of-type {
    margin: 0 0 10px;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--fb-accent);
}

.front-feedback .webform-submission-form .webform-flexbox > .form-type-webform-markup p:nth-of-type(2),
.front-feedback .webform-submission-form .webform-flexbox > .js-form-type-webform-markup p:nth-of-type(2) {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--fb-text);
}

.front-feedback .webform-submission-form .webform-flexbox > .form-type-webform-markup p:only-of-type,
.front-feedback .webform-submission-form .webform-flexbox > .js-form-type-webform-markup p:only-of-type {
    margin: 0;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--fb-text);
}


.front-feedback .webform-submission-form > .messages,
.front-feedback .webform-submission-form > [role='alert'],
.front-feedback .webform-submission-form > .alert,
.front-feedback .webform-submission-form > .help-block,
.front-feedback .webform-submission-form > .webform-message--error,
.front-feedback .webform-submission-form > .webform-message--warning,
.front-feedback .webform-submission-form > [data-drupal-selector$='-messages'] {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    order: -20;
    box-sizing: border-box;
}

.front-feedback .webform-submission-form > .webform-flexbox > .messages,
.front-feedback .webform-submission-form > .webform-flexbox > [role='alert'],
.front-feedback .webform-submission-form > .webform-flexbox > .alert,
.front-feedback .webform-submission-form > .webform-flexbox > .webform-message--error {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    order: -20;
}

.front-feedback .webform-submission-form .messages {
    margin-bottom: 0;
    color: var(--vesta-dark);
}

.front-feedback .webform-submission-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: 30px;
    width: 100%;
}

.front-feedback .webform-submission-form > .webform-flexbox {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: 30px;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

.front-feedback .webform-submission-form > .js-form-item,
.front-feedback .webform-submission-form > .form-item,
.front-feedback .webform-submission-form > .webform-flexbox > .js-form-item,
.front-feedback .webform-submission-form > .webform-flexbox > .form-item {
    flex: 1 1 260px;
    max-width: 304px;
    margin: 0;
}

.front-feedback .webform-submission-form > .form-actions,
.front-feedback .webform-submission-form > .webform-button--wrapper,
.front-feedback .webform-submission-form > .webform-flexbox > .form-actions,
.front-feedback .webform-submission-form > .webform-flexbox > .webform-button--wrapper {
    flex: 1 1 260px;
    max-width: 304px;
    margin: 35px 0 0;
    align-self: flex-start;
}

.front-feedback .webform-submission-form .form-actions {
    flex: 1 1 260px;
    max-width: 304px;
    margin: 35px 0 0;
    align-self: flex-start;
}

.front-feedback .webform-submission-form > .js-form-item.form-type-checkbox,
.front-feedback .webform-submission-form > .form-item.form-type-checkbox,
.front-feedback .webform-submission-form > .js-form-item.form-type-webform-markup,
.front-feedback .webform-submission-form > .form-item.form-type-webform-markup,
.front-feedback .webform-submission-form > .webform-flexbox > .js-form-item.form-type-checkbox,
.front-feedback .webform-submission-form > .webform-flexbox > .form-item.form-type-checkbox,
.front-feedback .webform-submission-form > .webform-flexbox > .js-form-item.form-type-webform-markup,
.front-feedback .webform-submission-form > .webform-flexbox > .form-item.form-type-webform-markup {
    flex: 1 1 100%;
    max-width: 100%;
    align-self: stretch;
}

.front-feedback .webform-submission-form .js-form-item:not(.form-type-checkbox) label,
.front-feedback .webform-submission-form .form-item:not(.form-type-checkbox) label {
    display: block;
    margin-bottom: 15px;
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 17px;
    line-height: 20px;
    color: var(--fb-text);
}


.front-feedback .webform-submission-form > .js-form-item:not(.form-type-checkbox):not(.form-type-webform-markup),
.front-feedback .webform-submission-form > .form-item:not(.form-type-checkbox):not(.form-type-webform-markup),
.front-feedback .webform-submission-form > .webform-flexbox > .js-form-item:not(.form-type-checkbox):not(.form-type-webform-markup),
.front-feedback .webform-submission-form > .webform-flexbox > .form-item:not(.form-type-checkbox):not(.form-type-webform-markup) {
    align-self: flex-start;
}

.front-feedback .webform-submission-form .form-item--error-message {
    position: static;
    display: block;
    clear: both;
    width: 100%;
    margin: 10px 0 0;
    padding: 0;
    font-size: 12px;
    line-height: 1.35;
    color: #ffb4b4;
}

.front-feedback .webform-submission-form .form-item--error-message ul,
.front-feedback .webform-submission-form .form-item--error-message li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.front-feedback .webform-submission-form .form-item label.option,
.front-feedback .webform-submission-form .form-type-checkbox label.option,
.front-feedback .webform-submission-form .form-type-checkbox label.form-checkbox {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 16px;
    display: inline;
}

.front-feedback .webform-submission-form .form-type-checkbox label.option {
    color: var(--fb-text);
    text-decoration: none;
    padding-top: 2px;
}


.front-feedback .webform-submission-form input[type='text'],
.front-feedback .webform-submission-form input[type='email'],
.front-feedback .webform-submission-form input[type='tel'],
.front-feedback .webform-submission-form input[type='number'] {
    box-sizing: border-box;
    width: 100%;
    height: 58px;
    min-height: 58px;
    padding: 0 15px;
    margin: 0;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    line-height: 56px;
    color: var(--fb-text);
    background: var(--fb-input-bg);
    border: 1px solid var(--fb-text);
    border-radius: 0;
    vertical-align: middle;
}

.front-feedback .webform-submission-form textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 120px;
    padding: 18px 15px;
    margin: 0;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    line-height: 20px;
    color: var(--fb-text);
    background: var(--fb-input-bg);
    border: 1px solid var(--fb-text);
    border-radius: 0;
    resize: vertical;
}

.front-feedback .webform-submission-form input::placeholder,
.front-feedback .webform-submission-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.85);
    opacity: 1;
}

.front-feedback .webform-submission-form input:focus-visible,
.front-feedback .webform-submission-form textarea:focus-visible {
    outline: 2px solid var(--fb-accent);
    outline-offset: 2px;
}

.front-feedback .webform-submission-form .form-actions .form-submit,
.front-feedback .webform-submission-form .form-actions .webform-button--submit,
.front-feedback .webform-submission-form button[type='submit'],
.front-feedback .webform-submission-form input[type='submit'] {
    box-sizing: border-box;
    width: 100%;
    height: 58px;
    min-height: 58px;
    padding: 0 15px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--fb-btn-text);
    background: var(--fb-accent);
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.front-feedback .webform-submission-form .form-actions .form-submit:hover,
.front-feedback .webform-submission-form button[type='submit']:hover,
.front-feedback .webform-submission-form input[type='submit']:hover {
    background: var(--vesta-accent-hover);
}

.front-feedback .webform-submission-form .form-actions .form-submit:focus-visible,
.front-feedback .webform-submission-form button[type='submit']:focus-visible,
.front-feedback .webform-submission-form input[type='submit']:focus-visible {
    outline: 2px solid var(--fb-text);
    outline-offset: 2px;
}


.front-feedback .webform-submission-form .form-type-checkbox {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    row-gap: 10px;
    align-items: start;
    max-width: 970px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 0;
}

.front-feedback .webform-submission-form .form-type-checkbox .fieldset-wrapper {
    display: contents;
}

.front-feedback .webform-submission-form .form-type-checkbox .form-item--error-message {
    grid-column: 1 / -1;
    grid-row: auto;
    margin-top: 0;
}


.front-feedback .webform-submission-form .form-type-checkbox input[type='checkbox'] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    margin: 0;
    padding: 0;
    opacity: 1;
    cursor: pointer;
    appearance: auto;
    -webkit-appearance: auto;
    accent-color: var(--fb-accent);
    background-color: #fff;
    border: 1px solid #9c9c9c;
    border-radius: 2px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    margin-top: 2px;
}

.front-feedback .webform-submission-form .form-type-checkbox input[type='checkbox']:not(label.option input[type='checkbox']) {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
}

.front-feedback .webform-submission-form .form-type-checkbox:not(:has(.description))
    input[type='checkbox']:not(label.option input[type='checkbox']) {
    grid-row: 1;
}

.front-feedback .webform-submission-form .form-type-checkbox label.option:not(:has(input[type='checkbox'])),
.front-feedback .webform-submission-form .form-type-checkbox label:not(.option) {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    font-family: var(--vesta-font-body);
    font-size: 14px;
    line-height: 16px;
    color: var(--fb-text);
}

.front-feedback .webform-submission-form .form-type-checkbox .description {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    font-family: var(--vesta-font-body);
    font-size: 14px;
    line-height: 16px;
    color: var(--fb-text);
}


.front-feedback .webform-submission-form .form-type-checkbox:not(:has(label.option)) .description {
    grid-row: 1;
}

.front-feedback .webform-submission-form .form-type-checkbox:not(:has(label.option))
    input[type='checkbox']:not(label.option input[type='checkbox']) {
    grid-row: 1;
}


.front-feedback .webform-submission-form .form-type-checkbox label.option:empty {
    display: none;
}

.front-feedback .webform-submission-form .form-type-checkbox label.option:empty ~ .description {
    grid-row: 1;
}

.front-feedback .webform-submission-form .form-type-checkbox:has(label.option:empty)
    input[type='checkbox']:not(label.option input[type='checkbox']) {
    grid-row: 1;
}


.front-feedback .webform-submission-form .form-type-checkbox > label.option:has(input[type='checkbox']) {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.front-feedback .webform-submission-form .form-type-checkbox > label.option:has(input[type='checkbox']) input[type='checkbox'] {
    grid-row: unset;
    grid-column: unset;
    flex-shrink: 0;
    margin-top: 2px;
}


.front-feedback .webform-submission-form .form-type-checkbox > label.option:has(input[type='checkbox']) ~ .description {
    grid-column: 1 / -1;
    margin-left: calc(18px + 12px);
    max-width: calc(100% - 30px);
    grid-row: auto;
}

.front-feedback .webform-submission-form .form-type-checkbox .description,
.front-feedback .webform-submission-form .form-type-checkbox .description p {
    margin: 0;
    padding-top: 2px;
    font-family: var(--vesta-font-body);
    font-size: 14px;
    line-height: 16px;
    color: var(--fb-text);
    flex: 1;
    min-width: 0;
    text-align: left;
    text-decoration: none;
}

.front-feedback .webform-submission-form .form-type-checkbox .description a,
.front-feedback .webform-submission-form .form-type-checkbox label.option a,
.front-feedback .webform-submission-form .form-type-checkbox a {
    color: var(--fb-text);
    text-decoration: none;
}

.front-feedback .webform-submission-form .form-type-checkbox .description a:hover,
.front-feedback .webform-submission-form .form-type-checkbox .description a:focus-visible,
.front-feedback .webform-submission-form .form-type-checkbox label.option a:hover,
.front-feedback .webform-submission-form .form-type-checkbox label.option a:focus-visible,
.front-feedback .webform-submission-form .form-type-checkbox a:hover,
.front-feedback .webform-submission-form .form-type-checkbox a:focus-visible {
    color: var(--fb-text);
    text-decoration: none;
}

.front-feedback .webform-submission-form .js-form-item:not(.form-type-checkbox) .description,
.front-feedback .webform-submission-form .form-item:not(.form-type-checkbox) .description {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.9);
}

@media screen and (max-width: 991px) {
    .front-feedback__inner {
        padding: 56px 24px;
        gap: 28px;
    }

    .front-feedback .block h2.block-title,
    .front-feedback .block h2.front-feedback__block-title,
    .front-feedback .block-title,
    .front-feedback .front-feedback__block-title {
        font-size: 22px;
        line-height: 28px;
    }

    .front-feedback .block .field--name-body h2,
    .front-feedback .block .field--name-body h3,
    .front-feedback .block .field--name-field-body h2,
    .front-feedback .block .field--name-field-body h3,
    .front-feedback .block .field--name-body p:not(:has(span)),
    .front-feedback .block .field--name-field-body p:not(:has(span)) {
        font-size: 22px;
        line-height: 28px;
    }

    .front-feedback .webform-submission-form {
        align-items: stretch;
    }

    .front-feedback .webform-submission-form > .js-form-item,
    .front-feedback .webform-submission-form > .form-item,
    .front-feedback .webform-submission-form > .form-actions,
    .front-feedback .webform-submission-form > .webform-button--wrapper,
    .front-feedback .webform-submission-form > .webform-flexbox > .js-form-item,
    .front-feedback .webform-submission-form > .webform-flexbox > .form-item,
    .front-feedback .webform-submission-form > .webform-flexbox > .form-actions,
    .front-feedback .webform-submission-form .form-actions {
        max-width: none;
    }
}

@media screen and (max-width: 767px) {
    .front-feedback__inner {
        padding: 40px 20px;
        gap: 24px;
    }

    .front-feedback .block h2.block-title,
    .front-feedback .block h2.front-feedback__block-title,
    .front-feedback .block-title,
    .front-feedback .front-feedback__block-title {
        font-size: 20px;
        line-height: 26px;
    }

    .front-feedback .block .field--name-body h2,
    .front-feedback .block .field--name-body h3,
    .front-feedback .block .field--name-field-body h2,
    .front-feedback .block .field--name-field-body h3,
    .front-feedback .block .field--name-body p:not(:has(span)),
    .front-feedback .block .field--name-field-body p:not(:has(span)) {
        font-size: 20px;
        line-height: 26px;
    }
}

@media screen and (max-width: 575px) {
    .front-feedback__inner {
        padding: 32px 16px;
        gap: 20px;
    }

    .front-feedback .webform-submission-form {
        gap: 20px;
    }
}

@media (max-width: 574px) {
    
    .front-feedback .block .field--name-body p span:nth-of-type(2),
    .front-feedback .block .field--name-body p span:only-of-type,
    .front-feedback .block .field--name-field-body p span:nth-of-type(2),
    .front-feedback .block .field--name-field-body p span:only-of-type {
        font-size: 20px;
        line-height: 26px;
    }

    .front-feedback .webform-submission-form > .form-type-webform-markup p:nth-of-type(2),
    .front-feedback .webform-submission-form > .js-form-type-webform-markup p:nth-of-type(2),
    .front-feedback .webform-submission-form > .form-type-webform-markup p:only-of-type,
    .front-feedback .webform-submission-form > .js-form-type-webform-markup p:only-of-type,
    .front-feedback .webform-submission-form .webform-flexbox > .form-type-webform-markup p:nth-of-type(2),
    .front-feedback .webform-submission-form .webform-flexbox > .js-form-type-webform-markup p:nth-of-type(2),
    .front-feedback .webform-submission-form .webform-flexbox > .form-type-webform-markup p:only-of-type,
    .front-feedback .webform-submission-form .webform-flexbox > .js-form-type-webform-markup p:only-of-type {
        font-size: 20px;
        line-height: 26px;
    }

    
    body:is(.path-front, .front) .front-feedback .block .field--name-body p:not(:has(span)),
    body:is(.path-front, .front) .front-feedback .block .field--name-field-body p:not(:has(span)) {
        font-size: 18px;
        line-height: 1.35;
    }

    body:is(.path-front, .front) .front-feedback .block .field--name-body p span:nth-of-type(1),
    body:is(.path-front, .front) .front-feedback .block .field--name-field-body p span:nth-of-type(1) {
        font-size: 16px;
        line-height: 1.35;
    }

    body:is(.path-front, .front) .front-feedback .block .field--name-body p span:nth-of-type(2),
    body:is(.path-front, .front) .front-feedback .block .field--name-field-body p span:nth-of-type(2) {
        font-size: 18px;
        line-height: 1.35;
    }

    body:is(.path-front, .front) .front-feedback .block .field--name-body p span:only-of-type,
    body:is(.path-front, .front) .front-feedback .block .field--name-field-body p span:only-of-type {
        font-size: 18px;
        line-height: 1.35;
    }

    body:is(.path-front, .front) .front-feedback .webform-submission-form > .form-type-webform-markup p:nth-of-type(1),
    body:is(.path-front, .front) .front-feedback .webform-submission-form > .js-form-type-webform-markup p:nth-of-type(1),
    body:is(.path-front, .front) .front-feedback .webform-submission-form .webform-flexbox > .form-type-webform-markup p:nth-of-type(1),
    body:is(.path-front, .front) .front-feedback .webform-submission-form .webform-flexbox > .js-form-type-webform-markup p:nth-of-type(1) {
        font-size: 18px;
        line-height: 1.35;
    }

    body:is(.path-front, .front) .front-feedback .webform-submission-form > .form-type-webform-markup p:nth-of-type(2),
    body:is(.path-front, .front) .front-feedback .webform-submission-form > .js-form-type-webform-markup p:nth-of-type(2),
    body:is(.path-front, .front) .front-feedback .webform-submission-form .webform-flexbox > .form-type-webform-markup p:nth-of-type(2),
    body:is(.path-front, .front) .front-feedback .webform-submission-form .webform-flexbox > .js-form-type-webform-markup p:nth-of-type(2) {
        font-size: 20px;
        line-height: 1.35;
    }

    body:is(.path-front, .front) .front-feedback .webform-submission-form > .form-type-webform-markup p:only-of-type,
    body:is(.path-front, .front) .front-feedback .webform-submission-form > .js-form-type-webform-markup p:only-of-type,
    body:is(.path-front, .front) .front-feedback .webform-submission-form .webform-flexbox > .form-type-webform-markup p:only-of-type,
    body:is(.path-front, .front) .front-feedback .webform-submission-form .webform-flexbox > .js-form-type-webform-markup p:only-of-type {
        font-size: 18px;
        line-height: 1.35;
    }

    body:is(.path-front, .front) .front-feedback label,
    body:is(.path-front, .front) .front-feedback label.option,
    body:is(.path-front, .front) .front-feedback .js-form-item label,
    body:is(.path-front, .front) .front-feedback .webform-submission-form legend,
    body:is(.path-front, .front) .front-feedback input[type='text'],
    body:is(.path-front, .front) .front-feedback input[type='email'],
    body:is(.path-front, .front) .front-feedback input[type='tel'],
    body:is(.path-front, .front) .front-feedback input[type='number'],
    body:is(.path-front, .front) .front-feedback textarea,
    body:is(.path-front, .front) .front-feedback select,
    body:is(.path-front, .front) .front-feedback .description,
    body:is(.path-front, .front) .front-feedback .description p,
    body:is(.path-front, .front) .front-feedback .form-item--error-message,
    body:is(.path-front, .front) .front-feedback .webform-element-description,
    body:is(.path-front, .front) .front-feedback input::placeholder,
    body:is(.path-front, .front) .front-feedback textarea::placeholder {
        font-size: 14px;
        line-height: 1.35;
    }

    body:is(.path-front, .front) .front-feedback button[type='submit'],
    body:is(.path-front, .front) .front-feedback input[type='submit'],
    body:is(.path-front, .front) .front-feedback .form-submit,
    body:is(.path-front, .front) .front-feedback .webform-button--submit {
        font-size: 14px;
        line-height: 1.25;
    }
}


.front-gallery,
.wrapper_gallery.front-gallery {
    background: #f1f1f1;
    padding: 50px 0;
    box-sizing: border-box;
}

.front-gallery__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
    box-sizing: border-box;
}

.front-gallery__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    width: 100%;
    text-align: center;
}

.front-gallery__eyebrow {
    margin: 0;
    width: 100%;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: var(--vesta-muted);
}

.front-gallery__title {
    margin: 0;
    width: 100%;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--vesta-dark);
}


.front-gallery .vesta-section-head,
.front-gallery .vesta-section-head > article {
    text-align: center;
}

.front-gallery .block-block-content h3.field--name-field-zagolovok,
.front-gallery .block-block-content h2.field--name-field-podzagolovok,
.front-gallery .block-block-content .field--name-field-zagolovok .field__item,
.front-gallery .block-block-content .field--name-field-podzagolovok .field__item,
.front-gallery__view h3.field--name-field-zagolovok,
.front-gallery__view h2.field--name-field-podzagolovok,
.front-gallery__view .field--name-field-zagolovok .field__item,
.front-gallery__view .field--name-field-podzagolovok .field__item {
    text-align: center;
}

.front-gallery__view {
    width: 100%;
}


.front-gallery__view .more-link {
    display: none;
}


.front-gallery__view .block-title,
.front-gallery__view .view-fotogalereya > .view-header,
.front-gallery__view .view-gallery-page > .view-header {
    display: none;
}


.front-gallery .front-gallery__view .item-list > ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
    list-style: none;
    list-style-image: none;
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
    overflow-x: visible;
}

.front-gallery .front-gallery__view .item-list > ul > li {
    list-style: none;
    list-style-image: none;
    margin: 0;
    padding: 0;
    min-width: 0;
    box-sizing: border-box;
}

.front-gallery .front-gallery__view .item-list > ul > li a.photoswipe {
    display: block;
    aspect-ratio: 370 / 264;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
}

.front-gallery .front-gallery__view .item-list > ul > li a.photoswipe:hover,
.front-gallery .front-gallery__view .item-list > ul > li a.photoswipe:focus-visible {
    text-decoration: none;
}

.front-gallery .front-gallery__view .item-list > ul > li img,
.front-gallery .front-gallery__view .item-list > ul > li .image-style-gallery {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 370 / 264;
    vertical-align: middle;
}


.front-gallery__view .views-photo-grid-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
    width: 100%;
    box-sizing: border-box;
    height: auto !important;
    min-height: 0;
    position: relative;
    overflow-x: visible;
}

.front-gallery__view .views-photo-grid-item {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    box-sizing: border-box;
}


.front-gallery__view .views-photo-grid-item ul.field__items,
.front-gallery__view .view-gallery-page .field.photoswipe-gallery ul.field__items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.front-gallery__view .views-photo-grid-item ul.field__items > li,
.front-gallery__view .view-gallery-page .field.photoswipe-gallery ul.field__items > li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.front-gallery__view .views-photo-grid-item .field.photoswipe-gallery {
    overflow: hidden;
    background: #e0e0e0;
}

.front-gallery__view .views-photo-grid-item a.photoswipe {
    display: block;
    aspect-ratio: 370 / 264;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
}

.front-gallery__view .views-photo-grid-item a.photoswipe:hover,
.front-gallery__view .views-photo-grid-item a.photoswipe:focus-visible {
    text-decoration: none;
}

.front-gallery__view .views-photo-grid-item img,
.front-gallery__view .views-photo-grid-item .image-style-gallery {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: none;
    object-fit: cover;
    aspect-ratio: 370 / 264;
}


.front-gallery__view .view-gallery-page .view-content > ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
    overflow-x: visible;
}

.front-gallery__view .view-gallery-page .view-content > ul > li {
    list-style: none;
    margin: 0;
    padding: 0;
    min-width: 0;
    box-sizing: border-box;
}

.front-gallery__view .view-fotogalereya .view-content {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
    width: 100%;
    box-sizing: border-box;
    overflow-x: visible;
}

.front-gallery__view .view-fotogalereya .views-row {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    box-sizing: border-box;
}

.front-gallery__view .view-fotogalereya .views-row .node {
    height: 100%;
}

.front-gallery__view .view-fotogalereya .views-row a {
    color: inherit;
    text-decoration: none;
}

.front-gallery__view .view-fotogalereya .views-row a:hover,
.front-gallery__view .view-fotogalereya .views-row a:focus-visible {
    text-decoration: none;
}


.front-gallery__view .view-fotogalereya .views-row article,
.front-gallery__view .view-fotogalereya .views-row .node--type-photogallery {
    overflow: hidden;
    background: #e0e0e0;
}

.front-gallery__view .view-fotogalereya .views-row img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.front-gallery__view .view-fotogalereya .views-row .field--name-field-gallery img,
.front-gallery__view .view-fotogalereya .views-row .field--name-field-galereya img,
.front-gallery__view .view-fotogalereya .views-row .field--name-field-gallery-xs img,
.front-gallery__view .view-fotogalereya .views-row .field--name-field-image img,
.front-gallery__view .view-fotogalereya .views-row article .field--type-image img {
    aspect-ratio: 370 / 264;
    max-height: none;
}

.front-gallery__view .view-fotogalereya .views-row article a:has(img) {
    display: block;
    aspect-ratio: 370 / 264;
    overflow: hidden;
}


#main .vesta-photogallery-grid.field__items,
#main .vesta-photogallery-grid > .field__items {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
    width: 100%;
    box-sizing: border-box;
    min-height: 0;
    position: relative;
    overflow-x: visible;
    list-style: none;
    list-style-image: none;
    margin: 0;
    padding: 0;
}

#main .vesta-photogallery-grid.field__items > .field__item,
#main .vesta-photogallery-grid > .field__items > .field__item,
#main .vesta-photogallery-grid.field__items > li,
#main .vesta-photogallery-grid > .field__items > li {
    position: static;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    list-style-image: none;
    box-sizing: border-box;
}

#main .vesta-photogallery-grid a.photoswipe {
    display: block;
    aspect-ratio: 370 / 264;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    background: #e0e0e0;
}

#main .vesta-photogallery-grid a.photoswipe:hover,
#main .vesta-photogallery-grid a.photoswipe:focus-visible {
    text-decoration: none;
}

#main .vesta-photogallery-grid img,
#main .vesta-photogallery-grid .image-style-gallery,
#main .vesta-photogallery-grid .image-style-product-teaser {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: none;
    object-fit: cover;
    aspect-ratio: 370 / 264;
    vertical-align: middle;
}

@media screen and (max-width: 991px) {
    #main .vesta-photogallery-grid.field__items,
    #main .vesta-photogallery-grid > .field__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 25px;
    }

    #main .vesta-photogallery-grid.field__items > .field__item,
    #main .vesta-photogallery-grid > .field__items > .field__item {
        width: 100%;
        max-width: none;
        min-width: 0;
    }
}

@media screen and (max-width: 575px) {
    #main .vesta-photogallery-grid.field__items,
    #main .vesta-photogallery-grid > .field__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}

.front-gallery__view .view-fotogalereya .pager {
    margin-top: 10px;
    width: 100%;
    text-align: center;
}

.front-gallery__actions {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.front-gallery__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 245px;
    min-height: 50px;
    padding: 15px 28px;
    font-family: var(--vesta-font-heading);
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    color: var(--vesta-dark);
    background: var(--vesta-accent);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.front-gallery__more:hover,
.front-gallery__more:focus-visible {
    background: var(--vesta-accent-hover);
    color: var(--vesta-dark);
    text-decoration: none;
}

.front-gallery__more:focus-visible {
    outline: 2px solid var(--vesta-dark);
    outline-offset: 2px;
}


.front-gallery.front-gallery--page-list .front-gallery__container {
    align-items: stretch;
}

.front-gallery--page-list .block-page-title-block,
.front-gallery--page-list .block-system-main-block {
    width: 100%;
}

.front-gallery--page-list .block-page-title-block {
    text-align: left;
}

/* Заголовок как на внутренних */
.front-gallery--page-list .front-gallery__container h1 {
    margin: 0 0 0.5rem;
    width: 100%;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-weight: 500;
    font-size: min(2.5rem, calc(1.375rem + 1.5vw));
    line-height: 1.2;
    color: inherit;
    text-align: left;
}

.front-gallery--page-list .vesta-photogallery-album-list > .view-header {
    display: none;
}

.front-gallery--page-list .vesta-photogallery-album-list .view-content {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 25px;
    width: 100%;
    box-sizing: border-box;
    margin-top: 17px;
}

.front-gallery--page-list .vesta-photogallery-album-list .views-row {
    flex: 1 1 300px;
    width: auto;
    max-width: 370px;
    min-width: 0;
    margin: 0;
    box-sizing: border-box;
}

.front-gallery--page-list .vesta-photogallery-album-list .views-row .node {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 18px;
    padding-bottom: 4px;
    box-sizing: border-box;
    color: #000;
}

.front-gallery--page-list .vesta-photogallery-album-list .views-row a {
    color: #000;
    text-decoration: none;
}

.front-gallery--page-list .vesta-photogallery-album-list .views-row article a:has(img):hover,
.front-gallery--page-list .vesta-photogallery-album-list .views-row article a:has(img):focus-visible {
    text-decoration: none;
}

.front-gallery--page-list .vesta-photogallery-album-list .views-row article,
.front-gallery--page-list .vesta-photogallery-album-list .views-row .node--type-photogallery {
    width: 100%;
    overflow: visible;
    background: transparent;
}

.front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-gallery,
.front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-galereya,
.front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-gallery-xs,
.front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-image {
    width: 100%;
    background: transparent;
}

.front-gallery--page-list .vesta-photogallery-album-list .views-row img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-gallery img,
.front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-galereya img,
.front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-gallery-xs img,
.front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-image img,
.front-gallery--page-list .vesta-photogallery-album-list .views-row article .field--type-image img {
    aspect-ratio: 370 / 264;
    max-height: none;
}

.front-gallery--page-list .vesta-photogallery-album-list .views-row article a:has(img) {
    display: block;
    aspect-ratio: 370 / 264;
    overflow: hidden;
    background: transparent;
}

.front-gallery--page-list .vesta-photogallery-album-list .field--name-node-title,
.front-gallery--page-list .vesta-photogallery-album-list .node__title {
    margin: 0;
    width: 100%;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #000;
    text-align: left;
}

.front-gallery--page-list .vesta-photogallery-album-list .field--name-node-title a,
.front-gallery--page-list .vesta-photogallery-album-list .node__title a,
.front-gallery--page-list .vesta-photogallery-album-list .node--type-photogallery.node--view-mode-teaser a:not(:has(img)) {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #000;
    text-decoration: none;
    transition: color 0.2s ease;
}

.front-gallery--page-list .vesta-photogallery-album-list .field--name-node-title a:hover,
.front-gallery--page-list .vesta-photogallery-album-list .field--name-node-title a:focus-visible,
.front-gallery--page-list .vesta-photogallery-album-list .node__title a:hover,
.front-gallery--page-list .vesta-photogallery-album-list .node__title a:focus-visible,
.front-gallery--page-list .vesta-photogallery-album-list .node--type-photogallery.node--view-mode-teaser a:not(:has(img)):hover,
.front-gallery--page-list .vesta-photogallery-album-list .node--type-photogallery.node--view-mode-teaser a:not(:has(img)):focus-visible {
    color: #000;
    text-decoration: underline;
    text-decoration-color: #000;
    text-underline-offset: 3px;
}

.front-gallery--page-list .vesta-photogallery-album-list nav.pager {
    margin-top: 28px;
    width: 100%;
    display: flex;
    justify-content: center;
}

.front-gallery--page-list .vesta-photogallery-album-list .pager__items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.front-gallery--page-list .vesta-photogallery-album-list .pager__item {
    margin: 0;
    padding: 0;
}

.front-gallery--page-list .vesta-photogallery-album-list .pager__item a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 120px;
    min-height: 50px;
    padding: 15px 28px;
    font-family: var(--vesta-font-heading);
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    color: var(--vesta-dark);
    background: var(--vesta-accent);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.front-gallery--page-list .vesta-photogallery-album-list .pager__item a:hover,
.front-gallery--page-list .vesta-photogallery-album-list .pager__item a:focus-visible {
    background: var(--vesta-accent-hover);
    color: var(--vesta-dark);
    text-decoration: none;
}

.front-gallery--page-list .vesta-photogallery-album-list .pager__item a:focus-visible {
    outline: 2px solid var(--vesta-dark);
    outline-offset: 2px;
}


.front-gallery--page-list .vesta-photogallery-album-list nav.pager .pager__items .pager__item a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 120px;
    min-height: 50px;
    padding: 15px 28px;
    font-family: var(--vesta-font-heading);
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    color: var(--vesta-dark);
    background: var(--vesta-accent);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.front-gallery--page-list .vesta-photogallery-album-list nav.pager .pager__items .pager__item a:hover,
.front-gallery--page-list .vesta-photogallery-album-list nav.pager .pager__items .pager__item a:focus-visible {
    background: var(--vesta-accent-hover);
    color: var(--vesta-dark);
    text-decoration: none;
}

.front-gallery--page-list .vesta-photogallery-album-list nav.pager .pager__items .pager__item.is-active {
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.45;
    color: var(--vesta-dark);
    min-height: auto;
    padding: 8px 12px;
    background: transparent;
}


.front-gallery--page-list .vesta-photogallery-album-list .field--name-node-title a,
.front-gallery--page-list .vesta-photogallery-album-list .node__title a,
.front-gallery--page-list .vesta-photogallery-album-list .node--type-photogallery.node--view-mode-teaser a:not(:has(img)) {
    font-family: var(--vesta-font-body);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.45;
    color: #000;
    text-decoration: none;
}


@media screen and (max-width: 767px) {
    .front-gallery--page-list .vesta-photogallery-album-list .field--name-node-title,
    .front-gallery--page-list .vesta-photogallery-album-list .node__title,
    .vesta-photogallery-album-list.view-display-id-page_1 .field--name-node-title,
    .vesta-photogallery-album-list.view-display-id-page_1 .node__title {
        font-size: 14px;
        line-height: 1.35;
    }

    .front-gallery--page-list .vesta-photogallery-album-list .field--name-node-title a,
    .front-gallery--page-list .vesta-photogallery-album-list .node__title a,
    .front-gallery--page-list .vesta-photogallery-album-list .node--type-photogallery.node--view-mode-teaser a:not(:has(img)),
    .vesta-photogallery-album-list.view-display-id-page_1 .field--name-node-title a,
    .vesta-photogallery-album-list.view-display-id-page_1 .node__title a {
        font-size: 14px;
        line-height: 1.4;
    }
}


.vesta-photogallery-album-list.view-display-id-page_1 > .view-header {
    display: none;
}

.vesta-photogallery-album-list.view-display-id-page_1 .view-content {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 25px;
    width: 100%;
    box-sizing: border-box;
    margin-top: 17px;
}

.vesta-photogallery-album-list.view-display-id-page_1 .view-content > .views-row {
    flex: 1 1 300px;
    width: auto;
    max-width: 370px;
    min-width: 0;
    margin: 0;
    float: none;
    box-sizing: border-box;
}

.vesta-photogallery-album-list.view-display-id-page_1 .views-row .node {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 18px;
    padding-bottom: 4px;
    box-sizing: border-box;
    color: #000;
}

.vesta-photogallery-album-list.view-display-id-page_1 .views-row article,
.vesta-photogallery-album-list.view-display-id-page_1 .views-row .node--type-photogallery {
    width: 100%;
    overflow: visible;
    background: transparent;
}

.vesta-photogallery-album-list.view-display-id-page_1 .views-row a {
    color: #000;
    text-decoration: none;
}

.vesta-photogallery-album-list.view-display-id-page_1 .views-row article a:has(img):hover,
.vesta-photogallery-album-list.view-display-id-page_1 .views-row article a:has(img):focus-visible {
    text-decoration: none;
}

.vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-gallery,
.vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-galereya,
.vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-gallery-xs,
.vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-image {
    width: 100%;
    background: transparent;
}

.vesta-photogallery-album-list.view-display-id-page_1 .views-row img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    padding: 0px 0px 10px;
}

.vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-gallery img,
.vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-galereya img,
.vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-gallery-xs img,
.vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-image img,
.vesta-photogallery-album-list.view-display-id-page_1 .views-row article .field--type-image img {
    aspect-ratio: 370 / 264;
    max-height: none;
}

.vesta-photogallery-album-list.view-display-id-page_1 .views-row article a:has(img) {
    display: block;
    aspect-ratio: 370 / 264;
    overflow: hidden;
    background: transparent;
}


.front-gallery--page-list .vesta-photogallery-album-list .blazy,
.front-gallery--page-list .vesta-photogallery-album-list .media--blazy,
.front-gallery--page-list .vesta-photogallery-album-list .b-bg,
.vesta-photogallery-album-list.view-display-id-page_1 .blazy,
.vesta-photogallery-album-list.view-display-id-page_1 .media--blazy,
.vesta-photogallery-album-list.view-display-id-page_1 .b-bg {
    background-color: transparent;
}

.vesta-photogallery-album-list.view-display-id-page_1 .field--name-node-title,
.vesta-photogallery-album-list.view-display-id-page_1 .node__title {
    margin: 0;
    width: 100%;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #000;
    text-align: left;
}

.vesta-photogallery-album-list.view-display-id-page_1 .field--name-node-title a,
.vesta-photogallery-album-list.view-display-id-page_1 .node__title a {
    font-family: var(--vesta-font-body);
    font-weight: 500;
    font-size: 15px;
    line-height: 1.45;
    color: #000;
    text-decoration: none;
    transition: color 0.2s ease;
}

.vesta-photogallery-album-list.view-display-id-page_1 .field--name-node-title a:hover,
.vesta-photogallery-album-list.view-display-id-page_1 .field--name-node-title a:focus-visible,
.vesta-photogallery-album-list.view-display-id-page_1 .node__title a:hover,
.vesta-photogallery-album-list.view-display-id-page_1 .node__title a:focus-visible {
    color: #000;
    text-decoration: underline;
    text-decoration-color: #000;
    text-underline-offset: 3px;
}

.vesta-photogallery-album-list.view-display-id-page_1 .node--type-photogallery .node__links {
    margin: 0;
    width: 100%;
}

.vesta-photogallery-album-list.view-display-id-page_1 .node--type-photogallery .node__links ul.links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}

.vesta-photogallery-album-list.view-display-id-page_1 .node--type-photogallery .node__links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 160px;
    min-height: 50px;
    padding: 15px 28px;
    font-family: var(--vesta-font-heading);
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    color: var(--vesta-dark);
    background: var(--vesta-accent);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.vesta-photogallery-album-list.view-display-id-page_1 .node--type-photogallery .node__links a:hover,
.vesta-photogallery-album-list.view-display-id-page_1 .node--type-photogallery .node__links a:focus-visible {
    background: var(--vesta-accent-hover);
    color: var(--vesta-dark);
    text-decoration: none;
}

.vesta-photogallery-album-list.view-display-id-page_1 .node--type-photogallery .node__links a:focus-visible {
    outline: 2px solid var(--vesta-dark);
    outline-offset: 2px;
}

.vesta-photogallery-album-list.view-display-id-page_1 nav.pager {
    margin-top: 28px;
    width: 100%;
    display: flex;
    justify-content: center;
}

.vesta-photogallery-album-list.view-display-id-page_1 .pager__items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.vesta-photogallery-album-list.view-display-id-page_1 .pager__item {
    margin: 0;
    padding: 0;
}

.vesta-photogallery-album-list.view-display-id-page_1 .pager__item a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 120px;
    min-height: 50px;
    padding: 15px 28px;
    font-family: var(--vesta-font-heading);
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    color: var(--vesta-dark);
    background: var(--vesta-accent);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.vesta-photogallery-album-list.view-display-id-page_1 .pager__item a:hover,
.vesta-photogallery-album-list.view-display-id-page_1 .pager__item a:focus-visible {
    background: var(--vesta-accent-hover);
    color: var(--vesta-dark);
    text-decoration: none;
}

.vesta-photogallery-album-list.view-display-id-page_1 .pager__item a:focus-visible {
    outline: 2px solid var(--vesta-dark);
    outline-offset: 2px;
}


@media screen and (max-width: 767px) {
    .front-gallery--page-list .vesta-photogallery-album-list .view-content,
    .vesta-photogallery-album-list.view-display-id-page_1 .view-content {
        gap: 12px;
        justify-content: center;
    }

    .front-gallery--page-list .vesta-photogallery-album-list .views-row,
    .vesta-photogallery-album-list.view-display-id-page_1 .view-content > .views-row {
        flex: 1 1 calc(50% - 6px);
        max-width: calc(50% - 6px);
        min-width: 0;
    }

    .front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-gallery img,
    .front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-galereya img,
    .front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-gallery-xs img,
    .front-gallery--page-list .vesta-photogallery-album-list .views-row .field--name-field-image img,
    .vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-gallery img,
    .vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-galereya img,
    .vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-gallery-xs img,
    .vesta-photogallery-album-list.view-display-id-page_1 .views-row .field--name-field-image img {
        max-height: 200px;
        width: 100%;
        object-fit: cover;
    }

    .front-gallery--page-list .vesta-photogallery-album-list .views-row article a:has(img),
    .vesta-photogallery-album-list.view-display-id-page_1 .views-row article a:has(img) {
        max-height: 200px;
        aspect-ratio: 16 / 11;
    }

    .front-gallery--page-list .vesta-photogallery-album-list .field--name-node-title a,
    .front-gallery--page-list .vesta-photogallery-album-list .node__title a,
    .vesta-photogallery-album-list.view-display-id-page_1 .field--name-node-title a,
    .vesta-photogallery-album-list.view-display-id-page_1 .node__title a {
        font-size: 14px;
        line-height: 1.35;
    }
}

@media screen and (max-width: 991px) {
    .front-gallery--page-list .vesta-photogallery-album-list .view-content {
        gap: 20px;
    }

    .front-gallery--page-list .vesta-photogallery-album-list .views-row {
        flex: 1 1 240px;
        max-width: none;
    }

    .vesta-photogallery-album-list.view-display-id-page_1 .view-content {
        gap: 20px;
    }

    .vesta-photogallery-album-list.view-display-id-page_1 .view-content > .views-row {
        flex: 1 1 240px;
        max-width: none;
    }
}


@media screen and (max-width: 767px) {
    .front-gallery--page-list .vesta-photogallery-album-list .view-content,
    .vesta-photogallery-album-list.view-display-id-page_1 .view-content {
        gap: 12px;
    }

    .front-gallery--page-list .vesta-photogallery-album-list .views-row,
    .vesta-photogallery-album-list.view-display-id-page_1 .view-content > .views-row {
        flex: 1 1 calc(50% - 6px);
        max-width: calc(50% - 6px);
        min-width: 0;
    }
}

@media screen and (max-width: 1199px) {
    .front-gallery {
        padding: 44px 0;
    }

    .front-gallery__container {
        gap: 22px;
    }

    .front-gallery__title {
        font-size: 24px;
        line-height: 30px;
    }
}

@media screen and (max-width: 991px) {
    .front-gallery {
        padding: 40px 0;
    }

    .front-gallery__container {
        gap: 20px;
    }

    .front-gallery__eyebrow {
        font-size: 17px;
        line-height: 21px;
    }

    .front-gallery__title {
        font-size: 22px;
        line-height: 28px;
    }

    .front-gallery__view .view-fotogalereya .view-content {
        gap: 25px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .front-gallery__view .view-fotogalereya .views-row {
        width: 100%;
        max-width: none;
        min-width: 0;
    }

    .front-gallery__view .views-photo-grid-container {
        gap: 25px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .front-gallery__view .views-photo-grid-item {
        width: 100%;
        max-width: none;
        min-width: 0;
    }

    .front-gallery .front-gallery__view .item-list > ul {
        gap: 25px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .front-gallery__view .view-gallery-page .view-content > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 767px) {
    .front-gallery {
        padding: 36px 0;
    }

    .front-gallery__title {
        font-size: 20px;
        line-height: 26px;
    }

    .front-gallery__more {
        min-width: 0;
        width: 100%;
        max-width: 320px;
    }
}

@media screen and (max-width: 575px) {
    .front-gallery {
        padding: 32px 0;
    }

    .front-gallery__container {
        gap: 18px;
    }

    .front-gallery__eyebrow {
        font-size: 16px;
        line-height: 20px;
    }

    .front-gallery__view .view-fotogalereya .view-content {
        gap: 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .front-gallery__view .views-photo-grid-container {
        gap: 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .front-gallery .front-gallery__view .item-list > ul {
        gap: 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .front-gallery__view .view-gallery-page .view-content > ul {
        gap: 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .front-gallery--page-list .vesta-photogallery-album-list .view-content {
        gap: 12px;
    }
}


#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-dialog {
    max-width: 817px;
    width: min(817px, calc(100vw - 24px));
    margin: 1.75rem auto;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-content {
    box-sizing: border-box;
    width: 100%;
    max-width: 817px;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 0;
    box-shadow: 3px 2px 20px 4px rgba(140, 148, 162, 0.2);
    overflow-x: visible;
    overflow-y: hidden;
    display: flex;
    flex-direction: column;
    height: min(500px, calc(100vh - 3.5rem));
    max-height: min(500px, calc(100vh - 3.5rem));
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-header {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 100%;
    padding: 20px 20px 0;
    border-bottom: none;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-title {
    width: 100%;
    max-width: 635px;
    margin: 0 auto;
    padding: 0 40px 20px;
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    text-align: center;
    color: var(--vesta-dark);
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-header .close,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-header .btn-close {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
    margin: 0;
    padding: 0;
    width: 30px;
    height: 30px;
    min-width: 30px;
    opacity: 1;
    color: var(--vesta-dark);
    font-size: 1.5rem;
    line-height: 1;
    text-shadow: none;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-body {
    box-sizing: border-box;
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: visible;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 20px 24px;
}


#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    max-width: 590px;
    width: 100%;
    margin: 0 auto;
}


#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form > .form-item-markup,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form > .js-form-item-markup,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form > .form-type-webform-markup,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form > .js-form-type-webform-markup,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form > .form-type-processed-text,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form > .js-form-type-processed-text {
    width: 100%;
    text-align: center;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .call-modal__lead {
    display: block;
    width: 100%;
    max-width: 345px;
    margin-left: auto;
    margin-right: auto;
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 17px;
    line-height: 20px;
    text-align: center;
    color: var(--vesta-dark);
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .call-modal__lead p {
    text-align: center;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .js-form-item.form-item:not(.form-type-webform-actions) {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .js-form-item.form-item label,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .js-form-item.form-item .fieldset-legend {
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 17px;
    line-height: 20px;
    color: #aeaeae;
    margin-bottom: 0;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .js-form-item.form-item input.form-text,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .js-form-item.form-item input.form-tel,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .js-form-item.form-item input[type="text"],
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .js-form-item.form-item input[type="tel"] {
    box-sizing: border-box;
    width: 100%;
    max-width: 590px;
    height: 50px;
    min-height: 50px;
    padding: 0 25px;
    border: 1px solid #aeaeae;
    border-radius: 0;
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 17px;
    line-height: 20px;
    color: var(--vesta-dark);
    background: #fff;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .js-form-item.form-item input::placeholder {
    color: #aeaeae;
    opacity: 1;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .js-form-item.form-item input:focus {
    border-color: var(--vesta-dark);
    outline: none;
    box-shadow: none;
}


#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 18px 1fr;
    column-gap: 17px;
    row-gap: 8px;
    align-items: start;
    justify-items: start;
    width: fit-content;
    max-width: min(560px, 100%);
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .fieldset-wrapper,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .fieldset-wrapper {
    display: contents;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .form-check,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .form-check {
    display: contents;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox input[type="checkbox"]:not(label.option input[type="checkbox"]),
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service input[type="checkbox"]:not(label.option input[type="checkbox"]) {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    margin: 2px 0 0;
    border: 1px solid #aeaeae;
    border-radius: 2px;
    accent-color: var(--vesta-dark);
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox:not(:has(.description))
    input[type="checkbox"]:not(label.option input[type="checkbox"]),
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service:not(:has(.description))
    input[type="checkbox"]:not(label.option input[type="checkbox"]) {
    grid-row: 1;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox label.option:not(:has(input[type="checkbox"])),
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox label:not(.option),
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service label.option:not(:has(input[type="checkbox"])),
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service label:not(.option) {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 14px;
    line-height: 16px;
    color: var(--vesta-dark);
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .description,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .description {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-family: var(--vesta-font-body);
    font-size: 14px !important;
    line-height: 16px !important;
    color: var(--vesta-dark) !important;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox:not(:has(label.option)) .description,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service:not(:has(label.option)) .description {
    grid-row: 1;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox:not(:has(label.option))
    input[type="checkbox"]:not(label.option input[type="checkbox"]),
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service:not(:has(label.option))
    input[type="checkbox"]:not(label.option input[type="checkbox"]) {
    grid-row: 1;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox label.option:empty ~ .description,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service label.option:empty ~ .description {
    grid-row: 1;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox:has(label.option:empty)
    input[type="checkbox"]:not(label.option input[type="checkbox"]),
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service:has(label.option:empty)
    input[type="checkbox"]:not(label.option input[type="checkbox"]) {
    grid-row: 1;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox > label.option:has(input[type="checkbox"]),
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service > label.option:has(input[type="checkbox"]) {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 17px;
    min-width: 0;
    font-family: var(--vesta-font-body);
    font-size: 14px;
    line-height: 16px;
    color: var(--vesta-dark);
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .form-item--error-message,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .form-item--error-message {
    grid-column: 1 / -1;
}


#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .description p,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .description p {
    margin: 0;
    padding: 0;
    font-family: var(--vesta-font-body);
    font-size: 14px !important;
    line-height: 16px !important;
    color: var(--vesta-dark) !important;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox label a,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .option a,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .description a,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .fieldset-wrapper a,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .fieldgroup a,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service label a,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .option a,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .description a {
    color: var(--vesta-dark) !important;
    text-decoration: underline !important;
    text-decoration-color: var(--vesta-dark) !important;
    -webkit-text-fill-color: var(--vesta-dark) !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox label a:visited,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .option a:visited,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .description a:visited,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service label a:visited,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .option a:visited,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .description a:visited {
    color: var(--vesta-dark) !important;
    -webkit-text-fill-color: var(--vesta-dark) !important;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox label a:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox label a:focus,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .option a:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .option a:focus,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .description a:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .description a:focus,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service label a:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service label a:focus,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .option a:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .option a:focus,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .description a:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .description a:focus {
    color: var(--vesta-dark) !important;
    -webkit-text-fill-color: var(--vesta-dark) !important;
    outline: none;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox label a:focus-visible,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .option a:focus-visible,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-checkbox .description a:focus-visible,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service label a:focus-visible,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .option a:focus-visible,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-type-webform-terms-of-service .description a:focus-visible {
    outline: 2px solid var(--vesta-dark);
    outline-offset: 2px;
}


#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-item-obrabotka-personalnyh-dannyh.form-type-checkbox {
    align-self: flex-start;
    width: 100%;
    max-width: min(560px, 100%);
    margin-left: 0;
    margin-right: auto;
    justify-items: start;
    text-align: left;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-item-obrabotka-personalnyh-dannyh.form-type-checkbox label.option:not(:has(input[type="checkbox"])),
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-item-obrabotka-personalnyh-dannyh.form-type-checkbox label:not(.option),
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-item-obrabotka-personalnyh-dannyh.form-type-checkbox .description,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-item-obrabotka-personalnyh-dannyh.form-type-checkbox .description p {
    text-align: left;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-item-obrabotka-personalnyh-dannyh.form-type-checkbox > label.option:has(input[type="checkbox"]) {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-item-obrabotka-personalnyh-dannyh.form-type-checkbox .form-item--error-message {
    text-align: left;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}


#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    flex-shrink: 0;
    box-sizing: border-box;
    width: 590px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0 20px;
    border-top: none;
    gap: 0;
    background: #fff;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form > .modal-footer {
    padding-bottom: 0;
}


#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions .form-submit,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions .webform-button--submit,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions input[type="submit"],
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions button[type="submit"],
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer .btn,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer .button,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer button[type="button"],
#drupal-bootstrap4-modal.bs4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer .btn,
#drupal-bootstrap4-modal.bs4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer .button,
#drupal-bootstrap4-modal.bs4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer button[type="button"] {
    box-sizing: border-box !important;
    width: 590px !important;
    max-width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 24px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: var(--vesta-accent) !important;
    background-image: none !important;
    font-family: var(--vesta-font-heading) !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 20px !important;
    color: var(--vesta-dark) !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions .form-submit:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions .form-submit:focus-visible,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions .webform-button--submit:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions .webform-button--submit:focus-visible,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions input[type="submit"]:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions input[type="submit"]:focus-visible,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions button[type="submit"]:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-actions button[type="submit"]:focus-visible,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer .btn:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer .btn:focus-visible,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer .button:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer .button:focus-visible,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer button[type="button"]:hover,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer button[type="button"]:focus-visible {
    background: var(--vesta-accent-active) !important;
    background-image: none !important;
    color: var(--vesta-dark) !important;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-body .messages {
    width: 100%;
    max-width: 590px;
    margin-inline: auto;
}


#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-item--error-message {
    position: static;
    display: block;
    clear: both;
    width: 100%;
    margin: 10px 0 0;
    padding: 0;
    font-size: 12px;
    line-height: 1.35;
    color: #ffb4b4 !important;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-item--error-message ul,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .form-item--error-message li {
    margin: 0;
    padding: 0;
    list-style: none;
    color: #ffb4b4 !important;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .webform-submission-zakazat-zvonok-add-form .invalid-feedback {
    font-size: 12px;
    line-height: 1.35;
    color: #ffb4b4 !important;
}

#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-body .messages,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-body .webform-message--error,
#drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-body .webform-message--warning {
    color: var(--vesta-dark);
}


#drupal-bootstrap4-modal:has(.webform-confirmation) .modal-dialog {
    max-width: 817px;
    width: min(817px, calc(100vw - 24px));
    margin: 1.75rem auto;
}

#drupal-bootstrap4-modal:has(.webform-confirmation) .modal-content {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 20px 80px;
    gap: 15px;
    width: 100%;
    max-width: 817px;
    height: 217px;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 0;
    box-shadow: 3px 2px 20px 4px rgba(140, 148, 162, 0.2);
}

#drupal-bootstrap4-modal:has(.webform-confirmation) .modal-header {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 100%;
    padding: 0;
    border-bottom: none;
}

#drupal-bootstrap4-modal:has(.webform-confirmation) .modal-title {
    display: none;
}

#drupal-bootstrap4-modal:has(.webform-confirmation) .modal-header .close,
#drupal-bootstrap4-modal:has(.webform-confirmation) .modal-header .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    margin: 0;
    padding: 0;
    width: 30px;
    height: 30px;
    min-width: 30px;
    opacity: 1;
    color: var(--vesta-dark);
    font-size: 1.5rem;
    line-height: 1;
    text-shadow: none;
}

#drupal-bootstrap4-modal:has(.webform-confirmation) .modal-body {
    box-sizing: border-box;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0;
    width: 100%;
}

#drupal-bootstrap4-modal .modal-body .webform-confirmation {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

#drupal-bootstrap4-modal .modal-body .webform-confirmation__message {
    text-align: center;
    color: var(--vesta-dark);
}

#drupal-bootstrap4-modal .modal-body .webform-confirmation__message p {
    margin: 0;
}

#drupal-bootstrap4-modal .modal-body .webform-confirmation__message .webform-confirmation__heading,
#drupal-bootstrap4-modal .modal-body .webform-confirmation__message h1,
#drupal-bootstrap4-modal .modal-body .webform-confirmation__message h2,
#drupal-bootstrap4-modal .modal-body .webform-confirmation__message h3 {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--vesta-dark);
    margin: 0 0 8px;
}

#drupal-bootstrap4-modal .modal-body .webform-confirmation__message p:not(.webform-confirmation__heading) {
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 17px;
    line-height: 1.5;
    color: var(--vesta-dark);
    margin: 0;
}

.webform-confirmation__back {
    display: none !important;
}

.front-feedback .webform-confirmation {
    display: none !important;
}


#vesta-confirmation-modal .modal-dialog {
    max-width: 817px;
    width: min(817px, calc(100vw - 24px));
    margin: 1.75rem auto;
}

#vesta-confirmation-modal .modal-content {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 20px 80px;
    gap: 15px;
    width: 100%;
    max-width: 817px;
    height: 217px;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 0;
    box-shadow: 3px 2px 20px 4px rgba(140, 148, 162, 0.2);
}

#vesta-confirmation-modal .modal-header {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 100%;
    padding: 0;
    border-bottom: none;
}

#vesta-confirmation-modal .modal-header .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    margin: 0;
    padding: 0;
    width: 30px;
    height: 30px;
    min-width: 30px;
    opacity: 1;
    color: var(--vesta-dark);
    font-size: 1.5rem;
    line-height: 1;
    text-shadow: none;
}

#vesta-confirmation-modal .modal-body {
    box-sizing: border-box;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0;
    width: 100%;
}

#vesta-confirmation-modal .modal-body .webform-confirmation__message {
    text-align: center;
    color: var(--vesta-dark);
}

#vesta-confirmation-modal .modal-body .webform-confirmation__message .webform-confirmation__heading {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 32px;
    color: var(--vesta-dark);
    margin: 0 0 8px;
}

#vesta-confirmation-modal .modal-body .webform-confirmation__message p:not(.webform-confirmation__heading) {
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 17px;
    line-height: 1.5;
    color: var(--vesta-dark);
    margin: 0;
}

@media screen and (max-width: 767px) {
    #drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-content {
        height: auto;
        max-height: min(500px, calc(100vh - 2rem));
        min-height: 0;
    }

    #drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-title {
        font-size: 22px;
        line-height: 28px;
    }

    #drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-body {
        padding: 12px 16px 16px;
    }

    #drupal-bootstrap4-modal:has(.webform-submission-zakazat-zvonok-add-form) .modal-footer {
        width: 100%;
        max-width: 590px;
        padding: 0 0 16px;
    }
}


.section-benefits .group-left .text-formatted > p:first-of-type:not(:has(> span)),
.section-benefits .field--type-text-with-summary .text-formatted > p:first-of-type:not(:has(> span)) {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: var(--vesta-font-body);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    color: var(--vesta-dark);
}

.section-benefits .group-left .text-formatted > p:first-of-type:not(:has(> span))::before,
.section-benefits .field--type-text-with-summary .text-formatted > p:first-of-type:not(:has(> span))::before {
    content: none;
    display: none;
    flex: 0 0 0;
    width: 0;
    height: 0;
    margin: 0;
    background: none;
}

.section-benefits .group-left .text-formatted > p:first-of-type:not(:has(> span)):has(~ ul),
.section-benefits .group-left .text-formatted > p:first-of-type:not(:has(> span)):has(~ p),
.section-benefits .field--type-text-with-summary .text-formatted > p:first-of-type:not(:has(> span)):has(~ ul),
.section-benefits .field--type-text-with-summary .text-formatted > p:first-of-type:not(:has(> span)):has(~ p) {
    margin-bottom: 56px;
}


.section-benefits .group-left .text-formatted > p:first-of-type:has(> span),
.section-benefits .field--type-text-with-summary .text-formatted > p:first-of-type:has(> span) {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

.section-benefits .group-left .text-formatted > p:first-of-type:has(> span)::before,
.section-benefits .field--type-text-with-summary .text-formatted > p:first-of-type:has(> span)::before {
    content: none;
    display: none;
    flex: 0 0 0;
    width: 0;
    height: 0;
    margin: 0;
    background: none;
}

.section-benefits .group-left .text-formatted > p:not(:first-of-type):not(:has(> span:nth-of-type(2))),
.section-benefits .field--type-text-with-summary .text-formatted > p:not(:first-of-type):not(:has(> span:nth-of-type(2))) {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    margin: 0 0 22px;
    padding: 0;
    min-height: 34px;
    font-family: var(--vesta-font-body);
    font-size: 17px;
    line-height: 1.35;
    color: var(--vesta-dark);
}

.section-benefits .group-left .text-formatted > p:not(:first-of-type):not(:has(> span:nth-of-type(2)))::before,
.section-benefits .field--type-text-with-summary .text-formatted > p:not(:first-of-type):not(:has(> span:nth-of-type(2)))::before {
    content: '';
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    background: url('../image/benefit-icon-check.svg') no-repeat center / contain;
}


.section-benefits .group-left .text-formatted p:first-of-type > span:first-of-type {
    font-family: var(--vesta-font-heading) !important;
    font-size: 26px !important;
    line-height: 32px !important;
    font-weight: 700 !important;
    color: #000 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 20px !important;
    min-height: 0 !important;
    align-items: flex-start !important;
    gap: 0 !important;
}

.section-benefits .group-left .text-formatted p:first-of-type > span:first-of-type::before,
.section-benefits .group-left .text-formatted p:first-of-type > span:first-of-type::after {
    content: none !important;
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    background-image: none !important;
}


.section-benefits .group-left .text-formatted p:first-of-type > span:nth-of-type(2) {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: var(--vesta-font-body) !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: var(--vesta-dark) !important;
    min-height: 0 !important;
    align-items: flex-start !important;
    gap: 0 !important;
}

.section-benefits .group-left .text-formatted p:first-of-type:has(> span:nth-of-type(3)) > span:nth-of-type(2) {
    margin: 0 0 56px !important;
}

.section-benefits .group-left .text-formatted p:first-of-type:not(:has(> span:nth-of-type(3))) > span:nth-of-type(2) {
    margin: 0 !important;
}


.section-benefits .group-left .text-formatted p:has(> span:nth-of-type(2)) {
    gap: 0 !important;
}

.section-benefits .group-left .text-formatted p:has(> span:nth-of-type(2)) > span:nth-of-type(n + 3) {
    margin: 0 0 22px !important;
}

.section-benefits .group-left .text-formatted p:has(> span:nth-of-type(2)) > span:nth-of-type(n + 3):last-of-type {
    margin-bottom: 0 !important;
}

.section-benefits .group-left .text-formatted p:first-of-type > span:nth-of-type(2)::before,
.section-benefits .group-left .text-formatted p:first-of-type > span:nth-of-type(2)::after {
    content: none !important;
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    background-image: none !important;
}


@media (max-width: 574px) {
    .section-benefits .group-left .text-formatted p:first-of-type > span:first-of-type {
        font-size: 18px !important;
        line-height: 26px !important;
        margin: 0 0 12px !important;
    }

    .section-benefits .group-left .text-formatted p:first-of-type > span:nth-of-type(2) {
        font-size: 14px !important;
    }
}


@media screen and (max-width: 991px) {
    #offcanvasNav .nav .dropdown-menu {
        display: none;
        position: static;
        border: 0;
        background: transparent;
        box-shadow: none;
        padding: 8px 0 12px;
        margin: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    #offcanvasNav .nav .dropdown-menu.show {
        display: block !important;
    }

    #offcanvasNav .dropdown-menu .dropdown-item {
        color: rgba(255, 255, 255, 0.92) !important;
        background: transparent !important;
        padding: 8px 0 8px 12px;
        font-size: 15px;
        font-weight: 400;
        border: 0;
    }

    #offcanvasNav .dropdown-menu .dropdown-item:hover,
    #offcanvasNav .dropdown-menu .dropdown-item:focus,
    #offcanvasNav .dropdown-menu .dropdown-item:focus-visible,
    #offcanvasNav .dropdown-menu .dropdown-item:active {
        background: rgba(255, 255, 255, 0.08) !important;
        color: #fff !important;
    }

    #offcanvasNav .dropdown-menu .dropdown-item.active,
    #offcanvasNav .dropdown-menu .dropdown-item.is-active {
        background: transparent !important;
        color: #fff !important;
        font-weight: 400;
    }

    #offcanvasNav li.nav-item {
        width: 100%;
    }
}


@media (max-width: 574px) {
    body:not(:is(.path-front, .front)) #main h2,
    body:not(:is(.path-front, .front)) #main h3,
    body:not(:is(.path-front, .front)) #main h4,
    body:not(:is(.path-front, .front)) #main h5,
    body:not(:is(.path-front, .front)) #main h6 {
        font-size: 14px;
        line-height: 1.35;
    }

    body:not(:is(.path-front, .front)) #main p,
    body:not(:is(.path-front, .front)) #main li,
    body:not(:is(.path-front, .front)) #main td,
    body:not(:is(.path-front, .front)) #main th,
    body:not(:is(.path-front, .front)) #main dd,
    body:not(:is(.path-front, .front)) #main dt,
    body:not(:is(.path-front, .front)) #main blockquote,
    body:not(:is(.path-front, .front)) #main figcaption,
    body:not(:is(.path-front, .front)) #main label,
    body:not(:is(.path-front, .front)) #main .field__label,
    body:not(:is(.path-front, .front)) #main input:not([type='hidden']),
    body:not(:is(.path-front, .front)) #main select,
    body:not(:is(.path-front, .front)) #main textarea,
    body:not(:is(.path-front, .front)) #main .form-text,
    body:not(:is(.path-front, .front)) #main .form-select,
    body:not(:is(.path-front, .front)) #main .form-textarea,
    body:not(:is(.path-front, .front)) #main .description,
    body:not(:is(.path-front, .front)) #main .text-formatted,
    body:not(:is(.path-front, .front)) #main .field--type-text-with-summary,
    body:not(:is(.path-front, .front)) #main .field--type-text-long {
        font-size: 14px;
        line-height: 1.35;
    }

    body:not(:is(.path-front, .front)) #main .btn,
    body:not(:is(.path-front, .front)) #main a.btn,
    body:not(:is(.path-front, .front)) #main button.btn,
    body:not(:is(.path-front, .front)) #main input.button,
    body:not(:is(.path-front, .front)) #main input[type='submit'],
    body:not(:is(.path-front, .front)) #main input[type='button'],
    body:not(:is(.path-front, .front)) #main .form-submit,
    body:not(:is(.path-front, .front)) #main .button,
    body:not(:is(.path-front, .front)) #main a.button {
        font-size: 14px;
        line-height: 1.25;
    }

    body:not(:is(.path-front, .front)) #main .field__item {
        font-size: 14px;
        line-height: 1.35;
    }

    body:not(:is(.path-front, .front)) #main h1,
    body:not(:is(.path-front, .front)) #main .page-title,
    body:not(:is(.path-front, .front)) #main .page-title .field__item,
    body:not(:is(.path-front, .front)) #main .node__title,
    body:not(:is(.path-front, .front)) #main .node__title a,
    body:not(:is(.path-front, .front)) #main .field--name-title .field__item {
        font-size: 22px;
        line-height: 1.25;
    }
}


@media (max-width: 574px) {
    body.vesta-catalog-section #main :is(.view-catalog, .view-tovary, .view-id-catalog, .view-id-tovary) > .view-header .view-title {
        font-size: 16px;
        line-height: 20px;
        margin-bottom: 16px;
    }
}

body.vesta-unified-page-title #main :is(
    .block-page-title-block h1,
    h1.page-title,
    .page-title,
    .page-title .field__item,
    .front-gallery--page-list .front-gallery__container h1,
    .wr_content--uslugi-sub .group-right .field--name-title h1,
    .wr_content--uslugi-sub .group-right .field--name-title h2,
    .wr_content--uslugi-sub .group-right .field--name-node-title h1,
    .wr_content--uslugi-sub .group-right .field--name-node-title h2,
    .wr_content--uslugi-sub .group-right .field--name-title .field__item:not(h1):not(h2),
    .wr_content--uslugi-sub .group-right .field--name-node-title .field__item:not(h1):not(h2)
) {
    font-family: var(--vesta-font-heading);
    font-weight: 700;
    font-size: 33px;
    line-height: 1.25;
    color: var(--vesta-dark);
}

@media screen and (max-width: 1399px) {
    body.vesta-unified-page-title #main :is(
        .block-page-title-block h1,
        h1.page-title,
        .page-title,
        .page-title .field__item,
        .front-gallery--page-list .front-gallery__container h1,
        .wr_content--uslugi-sub .group-right .field--name-title h1,
        .wr_content--uslugi-sub .group-right .field--name-title h2,
        .wr_content--uslugi-sub .group-right .field--name-node-title h1,
        .wr_content--uslugi-sub .group-right .field--name-node-title h2,
        .wr_content--uslugi-sub .group-right .field--name-title .field__item:not(h1):not(h2),
        .wr_content--uslugi-sub .group-right .field--name-node-title .field__item:not(h1):not(h2)
    ) {
        font-size: 30px;
    }
}

@media screen and (max-width: 1199px) {
    body.vesta-unified-page-title #main :is(
        .block-page-title-block h1,
        h1.page-title,
        .page-title,
        .page-title .field__item,
        .front-gallery--page-list .front-gallery__container h1,
        .wr_content--uslugi-sub .group-right .field--name-title h1,
        .wr_content--uslugi-sub .group-right .field--name-title h2,
        .wr_content--uslugi-sub .group-right .field--name-node-title h1,
        .wr_content--uslugi-sub .group-right .field--name-node-title h2,
        .wr_content--uslugi-sub .group-right .field--name-title .field__item:not(h1):not(h2),
        .wr_content--uslugi-sub .group-right .field--name-node-title .field__item:not(h1):not(h2)
    ) {
        font-size: 28px;
    }
}

@media screen and (max-width: 991px) {
    body.vesta-unified-page-title #main :is(
        .block-page-title-block h1,
        h1.page-title,
        .page-title,
        .page-title .field__item,
        .front-gallery--page-list .front-gallery__container h1,
        .wr_content--uslugi-sub .group-right .field--name-title h1,
        .wr_content--uslugi-sub .group-right .field--name-title h2,
        .wr_content--uslugi-sub .group-right .field--name-node-title h1,
        .wr_content--uslugi-sub .group-right .field--name-node-title h2,
        .wr_content--uslugi-sub .group-right .field--name-title .field__item:not(h1):not(h2),
        .wr_content--uslugi-sub .group-right .field--name-node-title .field__item:not(h1):not(h2)
    ) {
        font-size: 26px;
    }
}

@media screen and (max-width: 767px) {
    body.vesta-unified-page-title #main :is(
        .block-page-title-block h1,
        h1.page-title,
        .page-title,
        .page-title .field__item,
        .front-gallery--page-list .front-gallery__container h1,
        .wr_content--uslugi-sub .group-right .field--name-title h1,
        .wr_content--uslugi-sub .group-right .field--name-title h2,
        .wr_content--uslugi-sub .group-right .field--name-node-title h1,
        .wr_content--uslugi-sub .group-right .field--name-node-title h2,
        .wr_content--uslugi-sub .group-right .field--name-title .field__item:not(h1):not(h2),
        .wr_content--uslugi-sub .group-right .field--name-node-title .field__item:not(h1):not(h2)
    ) {
        font-size: 24px;
    }
}

@media screen and (max-width: 574px) {
    body.vesta-unified-page-title #main :is(
        .block-page-title-block h1,
        h1.page-title,
        .page-title,
        .page-title .field__item,
        .front-gallery--page-list .front-gallery__container h1,
        .wr_content--uslugi-sub .group-right .field--name-title h1,
        .wr_content--uslugi-sub .group-right .field--name-title h2,
        .wr_content--uslugi-sub .group-right .field--name-node-title h1,
        .wr_content--uslugi-sub .group-right .field--name-node-title h2,
        .wr_content--uslugi-sub .group-right .field--name-title .field__item:not(h1):not(h2),
        .wr_content--uslugi-sub .group-right .field--name-node-title .field__item:not(h1):not(h2)
    ) {
        font-size: 22px;
        line-height: 1.25;
    }
}

/* /catalog/*: текст обтекает картинку. */
body.vesta-path-catalog .product-view-full,
body.vesta-path-catalog .product-view-full .product-full__grid,
body.vesta-path-catalog .product-view-full.product-full--ds-2col {
    display: block;
    grid-template-columns: none;
    gap: 0;
}

body.vesta-path-catalog .product-view-full::after,
body.vesta-path-catalog .product-view-full .product-full__grid::after,
body.vesta-path-catalog .product-view-full.product-full--ds-2col::after {
    content: "";
    display: block;
    clear: both;
}

body.vesta-path-catalog .product-view-full .product-full__image,
body.vesta-path-catalog .product-view-full.product-full--ds-2col > .group-left {
    float: left;
    width: auto;
    max-width: min(100%, 480px);
    margin: 0 32px 16px 0;
}

body.vesta-path-catalog .product-view-full .product-full__info,
body.vesta-path-catalog .product-view-full.product-full--ds-2col > .group-right {
    display: block;
    width: auto;
    max-width: none;
    flex: none;
    padding: 0;
}

/* /uslugi/*: текст обтекает картинку. */
body.vesta-path-uslugi .wr_content--uslugi-sub .ds-2col,
body.vesta-path-uslugi .wr_content--uslugi-sub .ds-2col-fluid:not(.group-one-column) {
    display: block;
    grid-template-columns: none;
    column-gap: 0;
}

body.vesta-path-uslugi .wr_content--uslugi-sub .ds-2col::after,
body.vesta-path-uslugi .wr_content--uslugi-sub .ds-2col-fluid:not(.group-one-column)::after {
    content: "";
    display: block;
    clear: both;
}

body.vesta-path-uslugi .wr_content--uslugi-sub .ds-2col > .group-left,
body.vesta-path-uslugi .wr_content--uslugi-sub .ds-2col-fluid:not(.group-one-column) > .group-left {
    float: left;
    width: auto;
    max-width: min(100%, 480px);
    margin: 0 32px 16px 0;
}

body.vesta-path-uslugi .wr_content--uslugi-sub .ds-2col > .group-right,
body.vesta-path-uslugi .wr_content--uslugi-sub .ds-2col-fluid:not(.group-one-column) > .group-right {
    display: block;
    width: auto;
    max-width: none;
    flex: none;
    padding: 0;
}