/* Tokens */
:root {
    --bs-body-line-height: 1.2;
    --bs-body-font-size: 16px;
    --mc-black: #2f2a30;
    --mc-white: #ffffff;
    --mc-white-2: #f6f4f6;
    --mc-green: #a1b7a7;
    --mc-fiol: #a588da;
    --mc-fiol-2: #f0ecf8;
    --mc-fiol-3: #bba6e4;
    --mc-fiol-4: #b9a4df;
    --mc-fiol-5: #beb0dd;
    --mc-fiol-dark: #28103a;
    --color2: #2f2a30;
    --mc-font-heading: "Google Sans", system-ui, sans-serif;
    --mc-font-body: "Montserrat Alternates", system-ui, sans-serif;
    --mc-h1: 52px;
    --mc-h2: 48px;
    --mc-h3: 28px;
    --mc-h3-ls: 2px;
    --mc-h4: 24px;
    --mc-h5: 20px;
    --mc-h6: 17px;
    --mc-p1: 18px;
    --mc-p2: 16px;
    --mc-p3: 14px;
    --mc-heading-lh: 1.1;
    --mc-p1-lh: 1.1;
    --mc-p2-lh: 1.2;
    --mc-p3-lh: 1.2;
    --mc-bg-panel: #f9f9fc;
    --mc-spec-photo-grad-top: #c2c2c2;
    --mc-spec-photo-grad-bottom: #5c5c5c;
    --mc-spec-photo-grad-fill-pct: 20%;
    --mc-main-section-gap: 110px;
    --mc-inner-page-vpad: 30px;
}

@media screen and (max-width: 991px) {
    :root {
        --bs-body-font-size: 15px;
        --mc-h1: 45px;
        --mc-h2: 41px;
        --mc-h3: 25px;
        --mc-h3-ls: 1.5px;
        --mc-h4: 22px;
        --mc-h5: 18px;
        --mc-h6: 15px;
        --mc-p1: 16px;
        --mc-p2: 15px;
        --mc-p3: 13px;
    }
}

@media screen and (min-width: 575px) and (max-width: 767px) {
    :root {
        --mc-h2: 30px;
    }

    .page.not-front #main h1 {
        font-size: var(--mc-h1);
    }
}

@media screen and (max-width: 574px) {
    :root {
        --bs-body-font-size: 14px;
        --mc-h1: 38px;
        --mc-h2: 26px;
        --mc-h3: 21px;
        --mc-h3-ls: 1px;
        --mc-h4: 19px;
        --mc-h5: 16px;
        --mc-h6: 14px;
        --mc-p1: 15px;
        --mc-p2: 14px;
        --mc-p3: 12px;
    }

    #main .block :is(a.mc-btn-primary, button.mc-btn-primary, a.mc-btn-outline, button.mc-btn-outline),
    #main .block .vesta-o-klinike .field--type-link a,
    #main .block .block-content--type-o-klinike .field--type-link a,
    #main .block .form-actions .button--primary,
    #main .block .form-actions input[type="submit"].button,
    #main .block .form-actions button.button,
    #main .block .webform-button--submit {
        gap: calc(10px * 0.9);
        min-width: calc(141px * 0.9);
        min-height: calc(47px * 0.9);
        font-size: calc(var(--mc-p2) * 0.9);
        border-radius: calc(30px * 0.9);
    }
}

@media screen and (max-width: 768px) {
    #main .block :is(a.mc-btn-primary, button.mc-btn-primary, a.mc-btn-outline, button.mc-btn-outline),
    #main .block .vesta-o-klinike .field--type-link a,
    #main .block .block-content--type-o-klinike .field--type-link a,
    #main .block .form-actions .button--primary,
    #main .block .form-actions input[type="submit"].button,
    #main .block .form-actions button.button,
    #main .block .webform-button--submit {
        padding: 14px 8px;
    }
}

/* CTA primary */
a.mc-btn-primary,
button.mc-btn-primary,
#slider-block .field--name-field-slide-link a {
    box-sizing: border-box;
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 14px 22px;
    gap: 10px;
    min-width: 141px;
    min-height: 47px;
    background: var(--mc-fiol);
    border: 1.5px solid var(--mc-fiol);
    border-radius: 30px;
    font-family: var(--mc-font-body);
    font-size: var(--mc-p2);
    font-weight: 500;
    line-height: var(--mc-p2-lh);
    color: var(--mc-white);
    text-decoration: none;
    cursor: pointer;
}

button.mc-btn-primary {
    appearance: none;
}

a.mc-btn-primary:hover,
a.mc-btn-primary:focus,
button.mc-btn-primary:hover,
button.mc-btn-primary:focus,
#slider-block .field--name-field-slide-link a:hover,
#slider-block .field--name-field-slide-link a:focus {
    background: var(--mc-white);
    color: var(--mc-fiol);
}

/* CTA outline */
a.mc-btn-outline,
button.mc-btn-outline {
    box-sizing: border-box;
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 14px 22px;
    gap: 10px;
    min-width: 141px;
    min-height: 47px;
    flex-shrink: 0;
    border: 1.5px solid var(--mc-fiol);
    border-radius: 30px;
    font-family: var(--mc-font-body);
    font-size: var(--mc-p2);
    font-weight: 500;
    line-height: var(--mc-p2-lh);
    color: var(--mc-fiol);
    text-decoration: none;
    cursor: pointer;
    background: transparent;
}

.vesta-o-klinike .field--type-link a,
.block-content--type-o-klinike .field--type-link a {
    box-sizing: border-box;
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 14px 22px;
    gap: 10px;
    min-width: 141px;
    min-height: 47px;
    flex-shrink: 0;
    border: 1px solid var(--mc-fiol);
    border-radius: 30px;
    font-family: var(--mc-font-body);
    font-size: var(--mc-p2);
    font-weight: 500;
    line-height: var(--mc-p2-lh);
    color: var(--mc-fiol);
    text-decoration: none;
    cursor: pointer;
    background: var(--mc-white);
}

button.mc-btn-outline {
    appearance: none;
}

a.mc-btn-outline:hover,
a.mc-btn-outline:focus-visible,
button.mc-btn-outline:hover,
button.mc-btn-outline:focus-visible,
.vesta-o-klinike .field--type-link a:hover,
.vesta-o-klinike .field--type-link a:focus-visible,
.block-content--type-o-klinike .field--type-link a:hover,
.block-content--type-o-klinike .field--type-link a:focus-visible {
    background: var(--mc-green);
    border-color: var(--mc-green);
    color: var(--mc-white);
}

/* Modals */
.modal-backdrop.show {
    background-color: rgba(40, 16, 58, 0.58);
    backdrop-filter: blur(6px);
}

.modal-content {
    border: 1px solid var(--mc-fiol-2);
    border-radius: 12px;
    box-shadow: 0 18px 48px rgba(40, 16, 58, 0.18);
    overflow: hidden;
}

body .modal-dialog:not(.modal-sm):not(.modal-lg):not(.modal-xl) {
    max-width: 600px;
}

.modal-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0.83rem 2rem 0.67rem 1rem;
    border-bottom: none;
    background: var(--mc-white);
}

.modal-title,
.modal-header .modal-title {
    width: 100%;
    margin: 0;
    text-align: center;
    font-family: var(--mc-font-heading);
    font-size: 30px;
    font-weight: 500;
    line-height: var(--mc-heading-lh);
    color: var(--mc-black);
}

.modal-header .btn-close,
.modal-header .close {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}

.modal-header .close {
    z-index: 1;
}

.modal .btn-close {
    padding: 0.5rem;
    opacity: 0.45;
}

.modal .btn-close:hover,
.modal .btn-close:focus {
    opacity: 0.9;
    box-shadow: none;
}

.modal .close {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
    color: var(--mc-fiol-dark);
    opacity: 0.45;
    text-shadow: none;
}

.modal .close:hover,
.modal .close:focus {
    color: var(--mc-fiol);
    opacity: 0.9;
}

.modal-body {
    padding: 1rem;
    font-family: var(--mc-font-body);
    font-size: var(--mc-p2);
    line-height: var(--mc-p2-lh);
    color: var(--mc-black);
    background: var(--mc-white);
}

.modal-body .form-item label,
.modal-body .webform-submission-form .form-item:not(.form-type-checkbox) label {
    font-family: var(--mc-font-body);
    font-weight: 500;
    font-size: var(--mc-p3);
    color: var(--mc-black);
    margin-bottom: 0.35rem;
}

.modal-body :is(.form-text, .form-email, .form-tel, .form-number, input[type="text"], input[type="email"], input[type="tel"], textarea) {
    border: 1px solid var(--mc-fiol-5);
    border-radius: 8px;
    padding: 0.65rem 0.85rem;
    font-family: var(--mc-font-body);
    font-size: var(--mc-p2);
    color: var(--mc-black);
    background: var(--mc-white);
}

.modal-body :is(.form-text, .form-email, .form-tel, input[type="text"], input[type="email"], input[type="tel"], textarea):focus {
    border-color: var(--mc-fiol);
    box-shadow: 0 0 0 0.2rem rgba(165, 136, 218, 0.28);
    outline: 0;
}

.modal-body textarea {
    min-height: 6rem;
    resize: vertical;
}

.modal-body .form-item {
    margin-bottom: 1rem;
}

.modal-body .form-item.form-type-checkbox {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.modal-body .form-item.form-type-checkbox > .form-check {
    order: 1;
    flex: 0 0 auto;
    margin-top: 0;
    margin-bottom: 0;
    align-self: flex-start;
}

.modal-body .form-item.form-type-checkbox > .description {
    order: 2;
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-size: var(--mc-p3);
    line-height: var(--mc-p3-lh);
    font-weight: 400;
    color: var(--mc-black);
    opacity: 0.9;
}

.modal-body .form-item.form-type-checkbox :is(.form-item--error-message, strong.error.form-item--error-message) {
    flex: 1 1 100%;
    width: 100%;
    margin: 0.25rem 0 0;
    padding: 0;
    order: 10;
}

.modal-body .form-item.form-type-checkbox > :is(input[type="checkbox"], .form-checkbox) {
    flex-shrink: 0;
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.12rem;
    margin-left: 0;
    border-color: var(--mc-fiol-4);
    order: 1;
}

.modal-body .form-item.form-type-checkbox > label,
.modal-body .form-item.form-type-checkbox label.option {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-size: var(--mc-p3);
    line-height: var(--mc-p3-lh);
    font-weight: 400;
    order: 2;
}

.modal-body .form-item.form-type-checkbox > input[type="checkbox"]:checked,
.modal-body .form-check-input:checked {
    background-color: var(--mc-fiol);
    border-color: var(--mc-fiol);
}

.modal-body .form-check,
.modal-body .form-type-checkbox > .form-check {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.65rem;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
    flex-wrap: nowrap;
}

.modal-body .form-check .form-item--error-message {
    flex: 1 1 100%;
    width: 100%;
    min-width: 100%;
    margin: 0.25rem 0 0;
    order: 10;
}

.modal-body .form-check-input {
    width: 1.1rem;
    height: 1.1rem;
    flex-shrink: 0;
    margin-top: 0.12rem;
    margin-left: 0;
    float: none;
    border-color: var(--mc-fiol-4);
    order: 1;
}

.modal-body .form-check-label {
    flex: 1;
    min-width: 0;
    padding-left: 0;
    font-size: var(--mc-p3);
    line-height: var(--mc-p3-lh);
    color: var(--mc-black);
    order: 2;
}

.modal-footer {
    padding: 0.67rem 1rem 0.83rem;
    border-top: none;
    background: var(--mc-white);
    flex-direction: column;
    gap: 0.33rem;
}

.modal :is(.btn-primary, .button--primary, .webform-button--submit, .form-actions input.button--primary, .form-actions input[type="submit"].button, .form-actions button.button, .form-actions input.form-submit) {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    padding: 14px 22px;
    min-height: 47px;
    border-radius: 30px;
    font-family: var(--mc-font-body);
    font-size: var(--mc-p2);
    font-weight: 500;
    line-height: var(--mc-p2-lh);
    background: var(--mc-fiol);
    border: 1.5px solid var(--mc-fiol);
    color: var(--mc-white);
    cursor: pointer;
}

.modal :is(.btn-primary, .button--primary, .webform-button--submit, .form-actions input[type="submit"].button, .form-actions button.button, .form-actions input.form-submit):is(:hover, :focus) {
    background: var(--mc-white);
    border-color: var(--mc-fiol);
    color: var(--mc-fiol);
}

.modal .form-item--error-message,
.modal strong.error.form-item--error-message {
    color: #d9578a;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.25;
    font-family: var(--mc-font-body);
}

.modal .form-item--error-message strong {
    color: inherit;
    font-weight: 400;
    font-size: inherit;
}

.modal-body .form-item--error-message {
    margin-top: 0.35rem;
}

.modal .description,
.modal .webform-element-description,
.modal .form-item .fieldset-description {
    font-size: var(--mc-p3);
    color: var(--mc-black);
    opacity: 0.85;
}

.modal .form-actions {
    width: 100%;
}

.modal-body .form-actions {
    margin-top: 0.83rem;
    margin-bottom: 0;
}

body {
    height: 100%;
    margin: 0;
    font-family: var(--mc-font-body);
    color: var(--color2);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--mc-font-heading);
    font-weight: 500;
    line-height: var(--mc-heading-lh);
}

h1 {
    font-size: var(--mc-h1);
}

h2 {
    font-size: var(--mc-h2);
}

h3 {
    font-size: var(--mc-h3);
    letter-spacing: var(--mc-h3-ls);
}

h4 {
    font-size: var(--mc-h4);
}

h5 {
    font-size: var(--mc-h5);
}

h6 {
    font-size: var(--mc-h6);
}

#page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

#main {
    flex: 1;
}

/* Внутренние: vpad */
.page.not-front #main {
    padding-top: var(--mc-inner-page-vpad);
    padding-bottom: calc(var(--mc-inner-page-vpad) + 20px);
    box-sizing: border-box;
}

.page.not-front #main .wr_content {
    padding-top: 0;
    padding-bottom: 0;
    box-sizing: border-box;
}

/* Внутренние: 1170 */
.page.not-front #main > .wr_content > .container {
    box-sizing: border-box;
    max-width: calc(1170px + var(--bs-gutter-x, 1.5rem));
    margin-inline: auto;
    width: 100%;
}

html[class*="path-katalog-uslug"] .page.not-front #main > .wr_content > .container {
    max-width: calc(1170px + 30px + var(--bs-gutter-x, 1.5rem));
}

.page.not-front #main > .section-specialists {
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
}

.page.not-front #main > .wrapper_gradient {
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}

.page.not-front #main > .wrapper_gradient:has(.vesta-about-panel-page) {
    padding-top: 0;
    padding-bottom: 0;
    background-image: none;
    background-color: transparent;
    border-radius: 0;
    overflow: visible;
}

.page.not-front #main > .wrapper_gradient_bottom {
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
}

/* Внутренние: h1/h2 */
.page.not-front #main h1,
.page.not-front #main h2 {
    font-family: var(--mc-font-heading);
    font-size: var(--mc-h2);
    font-weight: 500;
    line-height: var(--mc-heading-lh);
    margin-top: 0;
    margin-bottom: 20px;
}

@media screen and (max-width: 574px) {
    .page.not-front #main h1 {
        font-size: var(--mc-h1);
    }
}

/* Информация для пациентов: ссылки */
.vesta-patient-info-sections {
    margin-top: clamp(24px, 4vw, 40px);
}

.vesta-patient-info-sections__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vesta-patient-info-sections__item {
    margin: 0;
    padding: 0;
}

.vesta-patient-info-sections__item a {
    font-family: var(--mc-font-body);
    font-size: var(--mc-p2);
    font-weight: 500;
    line-height: var(--mc-p2-lh);
    color: var(--mc-black);
    text-decoration: underline;
    cursor: pointer;
}

.vesta-patient-info-sections__item a:is(:hover, :focus-visible) {
    color: var(--mc-fiol);
    text-decoration: underline;
}

.page.not-front #main .wr_content :is(.field--name-body, .field--type-text-with-summary, .text-formatted) a:not(.btn):not(.use-ajax):not(.photoswipe):not(.header-callback-btn) {
    color: var(--mc-black);
    text-decoration: underline;
    cursor: pointer;
}

.page.not-front #main .wr_content :is(.field--name-body, .field--type-text-with-summary, .text-formatted) a:not(.btn):not(.use-ajax):not(.photoswipe):not(.header-callback-btn):is(:hover, :focus-visible) {
    color: var(--mc-fiol);
}

/* Главная: gap секций */
.page.front #main {
    display: flex;
    flex-direction: column;
    gap: var(--mc-main-section-gap);
}

@media screen and (max-width: 991px) {
    .page.front #main {
        gap: clamp(48px, 10vw, var(--mc-main-section-gap));
    }
}

/* Главная: без padding */
.page.front #main > .wrapper_gradient_bottom {
    padding-top: 0;
    padding-bottom: 0;
}

.page.front #main > .section-specialists {
    padding-top: 0;
    padding-bottom: 0;
}

.page.front #main > section.section-services:not(.section-specialists) {
    padding-top: 0;
    padding-bottom: 0;
}

/* Контейнеры 1170 */
.page.front .section-services:not(.section-specialists) > .container.section-services__inner,
.section-specialists > .container.section-services__inner,
.wrapper_gradient .wrapper_about .container,
.wrapper_gradient .section-benefits .container,
.front-gallery .front-gallery__container {
    box-sizing: border-box;
    max-width: calc(1170px + var(--bs-gutter-x, 1.5rem));
    margin-inline: auto;
    width: 100%;
}

.page.front #main > .front-intro {
    padding-top: 0;
    padding-bottom: 0;
    /* компенсация gap */
    margin-bottom: calc(-1 * var(--mc-main-section-gap));
}

@media screen and (max-width: 991px) {
    .page.front #main > .front-intro {
        margin-bottom: calc(-1 * clamp(48px, 10vw, var(--mc-main-section-gap)));
    }
}

.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;
}
/* Header/Footer base */
#footer .ajax-progress,
#header .region-search .ajax-progress,
#header .wr-search .ajax-progress,
#offcanvasNav .region-search .ajax-progress {
    display: none;
}

#header .header-top--figma {
    background: var(--mc-white);
    padding: 7px 0 10px;
    box-sizing: border-box;
}

#header .header-top__container {
    max-width: calc(1170px + var(--bs-gutter-x, 1.5rem));
}

#header .header-top__row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: clamp(12px, 3vw, 31px);
    min-height: 63px;
}

#header .header-top__logo {
    flex-shrink: 0;
}

#header .header-top__logo-link {
    display: inline-block;
    line-height: 0;
}

#header .header-top__logo-img {
    width: 204px;
    max-width: 100%;
    height: auto;
    display: block;
}

#header .header-meta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 5px;
    flex-shrink: 0;
    max-width: 264px;
    min-width: 0;
}

#header .header-meta__line {
    display: flex;
    flex-direction: row;
    align-items: center;
    min-width: 0;
}

#header .header-meta__line--mode {
    gap: 10px;
    align-items: flex-start;
}

#header .header-meta__text--mode {
    white-space: pre-line;
    line-height: 1.35;
}

#header .header-meta__line--geo {
    align-items: flex-start;
    gap: 10px;
}

#header .header-meta__icon {
    flex-shrink: 0;
    line-height: 0;
}

#header .header-meta__icon img {
    display: block;
}

#header .header-meta__text {
    font-size: 14px;
    line-height: 1.2;
    color: var(--mc-black);
}

#header .header-contacts {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 5px;
    flex-shrink: 0;
    max-width: 280px;
    min-width: 0;
}

#header .header-contacts__line {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

#header .header-contacts__link {
    font-size: 14px;
    line-height: 1.2;
    color: var(--mc-black);
    text-decoration: none;
    cursor: pointer;
}

#header .header-contacts__link:hover {
    color: var(--mc-fiol);
    text-decoration: underline;
}

#header .header-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    gap: 16px;
    flex-shrink: 0;
    min-width: 0;
}

#header .header-actions__msngrs {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

#header .header-actions__msngr {
    display: block;
    line-height: 0;
    flex-shrink: 0;
}

#header .header-actions__msngr:hover {
    opacity: 0.9;
}

#header .header-actions__msngr img {
    display: block;
    width: 36px;
    height: 36px;
}

#header .header-actions__callback {
    flex-shrink: 0;
}

#header .header-actions__callback .block,
#header .header-actions__callback .contextual-region {
    margin: 0;
}

#header .header-actions__callback a.header-callback-btn,
#header .header-actions__callback a.btn-outline-danger.use-ajax {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 20px;
    min-height: 47px;
    box-sizing: border-box;
    border-radius: 30px;
    background: var(--mc-fiol);
    color: var(--mc-white);
    font-family: var(--mc-font-body);
    font-weight: 500;
    font-size: var(--mc-p2);
    line-height: var(--mc-p2-lh);
    text-decoration: none;
    border: 1.5px solid var(--mc-fiol);
    cursor: pointer;
    white-space: nowrap;
    box-shadow: none;
}

#header .header-actions__callback a.header-callback-btn:hover,
#header .header-actions__callback a.header-callback-btn:focus,
#header .header-actions__callback a.btn-outline-danger.use-ajax:hover,
#header .header-actions__callback a.btn-outline-danger.use-ajax:focus {
    background: var(--mc-white);
    border-color: var(--mc-fiol);
    color: var(--mc-fiol);
    box-shadow: none;
}

/* Search */
#header .col-search {
    min-width: 0;
    flex-shrink: 0;
    position: relative;
    z-index: 10;
}

#header .wr-search {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    z-index: 220;
}

/* Поиск: панель */
#header .region-search {
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0.35rem;
    box-sizing: border-box;
    width: 0;
    max-width: 0;
    min-width: 0;
    min-height: 2.75rem;
    padding: 0;
    background: var(--mc-white);
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
    white-space: nowrap;
    transition:
        opacity 0.12s ease,
        max-width 0.24s ease 0.12s,
        width 0.24s ease 0.12s,
        padding 0.24s ease 0.12s,
        visibility 0s linear 0.36s;
}

#header .region-search.active {
    --hs-w: min(calc(36rem - 10px), calc(100vw - 2.5rem - 10px));
    width: var(--hs-w);
    max-width: var(--hs-w);
    min-height: 2.85rem;
    padding: 2px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 230;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    transition:
        max-width 0.26s ease,
        width 0.26s ease,
        padding 0.26s ease,
        opacity 0.2s ease 0.07s,
        visibility 0s linear 0s;
}

/* Бургер: поиск */
#offcanvasNav .region-search {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    margin: 0 0 1rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 2.85rem;
    padding: 2px;
    box-sizing: border-box;
    background: var(--mc-white);
    opacity: 1;
    visibility: visible;
    overflow: visible;
    pointer-events: auto;
    white-space: normal;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    z-index: 1;
}

/* Триггер поиска */
#header .js-search-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem;
    border: 0;
    background: transparent;
    color: inherit;
    line-height: 0;
    cursor: pointer;
    z-index: 2;
}

#header .js-search-btn__icon { display: inline-flex; }
#header .js-search-btn svg { display: block; }
#header .js-search-btn__icon--close { display: none; }
#header .js-search-btn.active .js-search-btn__icon--loupe { display: none; }
#header .js-search-btn.active .js-search-btn__icon--close { display: inline-flex; }

/* Форма поиска */
#header .region-search.active form,
#offcanvasNav .region-search form,
:is(body.path-search, body.vesta-route-search-api-page) #main form.vesta-search-page-form {
    margin: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-end;
    float: none !important;
}

#header .region-search.active .contextual-region,
#offcanvasNav .region-search .contextual-region {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

#header .region-search.active form :is(.form-item, .js-form-item),
#offcanvasNav .region-search form :is(.form-item, .js-form-item),
:is(body.path-search, body.vesta-route-search-api-page) #main form.vesta-search-page-form :is(.form-item, .js-form-item) {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    display: block !important;
    float: none !important;
}

/* Скрыть лейблы */
#header .region-search :is(h2, .block-title),
#offcanvasNav .region-search :is(h2, .block-title),
#header .region-search form .form-item > label,
#header .region-search :is(.form-actions, .form-actions input[type="submit"], .form-actions button[type="submit"]),
#offcanvasNav .region-search form .form-item > label,
#offcanvasNav .region-search :is(.form-actions, .form-actions input[type="submit"], .form-actions button[type="submit"]),
:is(body.path-search, body.vesta-route-search-api-page) #main form.vesta-search-page-form .form-item > label,
:is(body.path-search, body.vesta-route-search-api-page) #main form.vesta-search-page-form :is(.form-actions, .form-actions input[type="submit"], .form-actions button[type="submit"]) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0;
    pointer-events: none !important;
}

#header .region-search.active :is(.block, .block-search, .container-inline),
#offcanvasNav .region-search :is(.block, .block-search, .container-inline) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#header .region-search.active form :is(.form-item, .js-form-item, div),
#offcanvasNav .region-search form :is(.form-item, .js-form-item, div),
.header-search-keys-wrap {
    position: relative;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
}

#header .region-search.active form input,
#offcanvasNav .region-search form input,
.header-search-keys-wrap input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
    padding-right: 2.4rem;
    color: var(--color2);
    background-color: var(--mc-white);
    background-clip: padding-box;
    border: 1px solid var(--color2) !important;
    border-radius: 0.25rem;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
}

#header .region-search.active form input:is([type="submit"], [type="button"], [type="hidden"]),
#offcanvasNav .region-search form input:is([type="submit"], [type="button"], [type="hidden"]) {
    display: none !important;
}

#header .region-search.active form input::placeholder,
#offcanvasNav .region-search form input::placeholder,
.header-search-keys-wrap input::placeholder {
    color: rgba(47, 42, 48, 0.45);
    opacity: 1;
}

#header .region-search.active form :is(input:focus, input:focus-visible, .form-control:focus),
#offcanvasNav .region-search form :is(input:focus, input:focus-visible, .form-control:focus),
.header-search-keys-wrap :is(input:focus, input:focus-visible, .form-control:focus) {
    outline: none !important;
    border-color: var(--color2) !important;
    box-shadow: none !important;
}

#header .region-search.active form input:is(:-webkit-autofill, :-webkit-autofill:hover, :-webkit-autofill:focus),
#offcanvasNav .region-search form input:is(:-webkit-autofill, :-webkit-autofill:hover, :-webkit-autofill:focus),
.header-search-keys-wrap input:is(:-webkit-autofill, :-webkit-autofill:hover, :-webkit-autofill:focus) {
    -webkit-text-fill-color: var(--color2);
    caret-color: var(--color2);
    transition: background-color 9999s ease-out;
    box-shadow: 0 0 0 1000px var(--mc-white) inset !important;
}

/* Иконка submit */
.header-search__submit-icon {
    position: absolute;
    right: 0.35rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    margin: 0;
    padding: 0.15rem;
    border: 0;
    background: transparent;
    line-height: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.header-search__submit-icon svg { display: block; }
.header-search__submit-icon svg path { fill: var(--color2); }

.header-search__submit-icon:focus-visible {
    outline: 2px solid var(--color2);
    outline-offset: 2px;
}

/* Страница поиска */
:is(body.path-search, body.vesta-route-search-api-page) #main form.vesta-search-page-form {
    width: 100%;
    margin: 0 auto 0 0;
}

:is(body.path-search, body.vesta-route-search-api-page) #main .header-search-keys-wrap input.form-text,
:is(body.path-search, body.vesta-route-search-api-page) #main .header-search-keys-wrap input[type="search"],
:is(body.path-search, body.vesta-route-search-api-page) #main .header-search-keys-wrap input[type="text"] {
    padding-top: calc(0.375rem + 5px);
    padding-bottom: calc(0.375rem + 5px);
}

#header .header-nav-bar {
    background: var(--mc-fiol);
    min-height: 46px;
    box-sizing: border-box;
    position: relative;
    z-index: 25;
    width: 100%;
}

#header .header-nav-bar__container {
    max-width: calc(1170px + var(--bs-gutter-x, 1.5rem));
}

@media screen and (min-width: 992px) {
    #header .header-top__container.container,
    #header .header-nav-bar__container.container {
        max-width: calc(1170px + var(--bs-gutter-x, 1.5rem));
        box-sizing: border-box;
    }

    /* Slider container */
    #slider-block .container {
        max-width: calc(1170px + var(--bs-gutter-x, 1.5rem));
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }

    .page.front #main {
        min-width: 0;
    }

    .page.front #slider-block {
        min-width: 0;
        max-width: 100%;
    }
}

#header .header-nav-bar__row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    min-height: 46px;
}

#header .header-nav-bar__menu {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

#header .header-nav-bar__menu nav {
    width: 100%;
    display: flex;
    justify-content: flex-start;
}

#header .header-nav-bar .nav {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
    row-gap: 8px;
    min-height: 46px;
    box-sizing: border-box;
    overflow: visible;
}

#header .header-nav-bar .nav > .header-nav-bar__catalog-item {
    flex-shrink: 0;
    margin-inline-end: 10px;
}

#header .header-nav-bar .nav > .header-nav-bar__catalog-item > .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    min-height: 46px;
    padding: 0 20px;
    margin: 0;
    background: var(--mc-green);
    border: 2px solid var(--mc-green);
    border-radius: 30px;
    color: var(--mc-white);
    font-family: var(--mc-font-body);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    text-decoration: none;
}

#header .header-nav-bar .nav > .header-nav-bar__catalog-item > .nav-link::before {
    content: "";
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    background: url('../image/header-menu.svg') no-repeat center / contain;
}

#header .header-nav-bar .nav > .header-nav-bar__catalog-item > .nav-link:hover,
#header .header-nav-bar .nav > .header-nav-bar__catalog-item > .nav-link:focus {
    color: var(--mc-white);
    text-decoration: none;
    background: #8fa89a;
    border-color: #8fa89a;
}

#header .header-nav-bar .nav > .header-nav-bar__catalog-item > .nav-link.active {
    color: var(--mc-white);
    text-decoration: none;
}

#header .header-nav-bar .nav-item {
    padding: 0;
    margin: 0;
}

#header .header-nav-bar .nav-link {
    padding: 0;
    margin: 0;
    color: var(--mc-white);
    font-family: var(--mc-font-body);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

#header .header-nav-bar .nav-link:hover,
#header .header-nav-bar .nav-link:focus {
    color: var(--mc-white);
    text-decoration: underline;
}

#header .header-nav-bar .nav-link.active {
    color: var(--mc-white);
    text-decoration: underline;
}

.header-nav-bar__catalog-item > .dropdown-toggle::after {
    display: none;
    content: none;
    margin-left: 0;
    border: 0;
}

#header .header-nav-bar .dropdown-toggle::after {
    border-top-color: var(--mc-white);
    vertical-align: 0.15em;
}

#header .header-nav-bar .dropdown-menu {
    --bs-dropdown-link-hover-bg: transparent;
    --bs-dropdown-link-active-bg: transparent;
    margin-top: 0;
    padding: 10px 0;
    min-width: 260px;
    background: var(--mc-white);
    border: 1px solid rgba(165, 136, 218, 0.35);
    border-radius: 20px;
    box-shadow: 0 12px 32px rgba(47, 42, 48, 0.14), 0 0 0 1px rgba(240, 236, 248, 0.8) inset;
    z-index: 400;
}

#header .header-nav-bar .dropdown-item {
    font-family: var(--mc-font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--mc-black);
    padding: 10px 18px;
    border-radius: 0;
}

#header .header-nav-bar .dropdown-item:hover,
#header .header-nav-bar .dropdown-item:focus {
    background: transparent;
    color: var(--mc-fiol);
}

#header .header-nav-bar .dropdown-item.active,
#header .header-nav-bar .dropdown-item:active {
    background: transparent;
    color: var(--mc-fiol);
}

#header .header-nav-bar .header-nav-bar__submenu-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
}

#header .header-nav-bar .header-nav-bar__submenu-toggle::after {
    content: "";
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    margin-left: auto;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    opacity: 0.55;
}

@media (min-width: 992px) {
    #header .header-nav-bar .header-nav-bar__submenu-parent {
        position: relative;
    }

    #header .header-nav-bar .header-nav-bar__nested-menu {
        display: none;
        position: absolute;
        left: calc(100% - 4px);
        top: 0;
        margin: 0;
        padding: 10px 0;
        min-width: min(320px, 42vw);
        z-index: 420;
    }

    #header .header-nav-bar .header-nav-bar__submenu-parent:hover > .header-nav-bar__nested-menu,
    #header .header-nav-bar .header-nav-bar__submenu-parent:focus-within > .header-nav-bar__nested-menu {
        display: block;
    }
}

#offcanvasNav .header-nav-bar__nested-menu {
    position: static;
    float: none;
    margin: 0;
    padding: 4px 0 4px 12px;
    min-width: 0;
    border: 0;
    border-left: 2px solid rgba(165, 136, 218, 0.35);
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

#offcanvasNav .header-nav-bar__nested-menu > li {
    width: 100%;
    min-width: 0;
}

#offcanvasNav .header-nav-bar__nested-menu .dropdown-item {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 7px 0;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 400;
    color: rgba(47, 42, 48, 0.78);
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
}

#header .header-nav-bar__cart {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-left: 12px;
}

#header .header-nav-bar .region-cart a {
    color: var(--mc-white);
}

#header .header-nav-bar .region-cart a:hover {
    color: var(--mc-white);
    opacity: 0.9;
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    #header .header-top__row {
        flex-wrap: nowrap;
        gap: 8px;
        min-width: 0;
    }

    #header .header-top__logo-img {
        width: clamp(140px, 16vw, 176px);
        max-width: 176px;
        height: auto;
    }

    #header .header-meta {
        max-width: min(210px, 22vw);
        flex-shrink: 1;
    }

    #header .header-meta__line {
        min-width: 0;
        max-width: 100%;
    }

    #header .header-meta__text {
        font-size: 12px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    #header .header-contacts {
        max-width: min(190px, 20vw);
        flex-shrink: 1;
    }

    #header .header-contacts__line {
        min-width: 0;
        max-width: 100%;
    }

    #header .header-contacts__link {
        font-size: 12px;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    #header .col-search {
        flex-shrink: 1;
    }

    #header .header-actions {
        flex-wrap: nowrap;
        gap: 8px;
        flex-shrink: 0;
    }

    #header .header-actions__msngrs {
        gap: 4px;
    }

    #header .header-actions__msngr img {
        width: 28px;
        height: 28px;
    }

    #header .header-actions__callback a.header-callback-btn,
    #header .header-actions__callback a.btn-outline-danger.use-ajax {
        padding: 9px 12px;
        min-height: 38px;
        font-size: 13px;
    }

    #header .header-nav-bar .nav {
        flex-wrap: nowrap;
        row-gap: 0;
        gap: clamp(8px, 1vw, 14px);
    }

    #header .header-nav-bar .nav > .header-nav-bar__catalog-item {
        margin-inline-end: 6px;
    }

    #header .header-nav-bar .nav > .header-nav-bar__catalog-item > .nav-link {
        padding: 0 12px;
        gap: 8px;
        font-size: 14px;
    }

    #header .header-nav-bar .nav-link {
        font-size: 14px;
    }

    #header .header-nav-bar .dropdown-item {
        font-size: 14px;
    }
}

.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;
}

#header .header-actions__callback .contextual .trigger {
    width: unset !important;
    height: unset !important;
    background-size: unset !important;
}

.cart-block--summary .cart-block--summary__count {
    position: absolute;
    min-width: 20px;
    height: 20px;
    padding: 0 4px;
    box-sizing: border-box;
    border: 2px solid var(--mc-white);
    background: #ccc;
    color: var(--mc-white);
    top: -5px;
    right: -10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#header-mob {
    top: 0;
    width: 100%;
    background: var(--mc-white);
    color: var(--mc-black);
    padding: 7px 5px;
    z-index: 50;
    border-bottom: 1px solid rgba(40, 16, 58, 0.08);
    box-sizing: border-box;
}

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

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

#header-mob .col-phone {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    min-width: 0;
}

#header-mob a {
    color: var(--mc-black);
}

#header-mob a:hover {
    color: var(--mc-fiol);
}

#header-mob .header-mob-contacts {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
}

#header-mob .header-mob-phones {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
}

#header-mob .header-mob-geo {
    display: none;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

#header-mob .header-mob-geo__text {
    font-family: var(--mc-font-body);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--mc-black);
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media screen and (min-width: 575px) and (max-width: 991px) {
    #header-mob .header-mob-geo {
        display: inline-flex;
    }

    #header-mob .header-mob-geo__text {
        max-width: min(220px, 32vw);
    }

    #header-mob .header-mob-phone__link {
        max-width: min(160px, 26vw);
    }
}

#header-mob .header-mob-phone {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

#header-mob .header-mob-phone__icon {
    flex-shrink: 0;
    line-height: 0;
}

#header-mob .header-mob-phone__icon img {
    display: block;
}

#header-mob .header-mob-phone__link {
    font-family: var(--mc-font-body);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--mc-black);
    text-decoration: none;
    cursor: pointer;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: min(200px, 42vw);
}

#header-mob .header-mob-phone__link:hover,
#header-mob .header-mob-phone__link:focus-visible {
    color: var(--mc-fiol);
    text-decoration: underline;
}

@media screen and (min-width: 575px) and (max-width: 767px) {
    #header-mob .col-logo img {
        max-height: 32px;
        width: auto;
    }

    #header-mob .col-logo {
        font-size: 12px;
        line-height: 1.2;
    }

    #header-mob .col-nav img {
        width: 18px;
        height: 18px;
    }

    #header-mob .header-mob-phone__link,
    #header-mob .header-mob-geo__text {
        font-size: 12px;
    }

    #header-mob .header-mob-phone__icon img {
        width: 16px;
        height: 16px;
    }

    #header-mob .header-mob-contacts {
        gap: 6px;
    }
}

@media screen and (max-width: 574px) {
    #header-mob .col-nav,
    #header-mob .col-cart {
        flex-shrink: 0;
    }

    #header-mob .col-logo {
        flex: 0 1 auto;
        min-width: 0;
        max-width: min(48%, 190px);
        font-size: 12px;
        line-height: 1.2;
    }

    #header-mob .col-logo img {
        display: block;
        max-height: 26px;
        width: auto;
        max-width: 100%;
        object-fit: contain;
    }

    #header-mob .col-phone {
        flex: 1 1 0%;
        min-width: 0;
    }

    #header-mob .header-mob-phone__link {
        max-width: none;
    }
}

#offcanvasNav.offcanvas.offcanvas-mob {
    --bs-offcanvas-bg: var(--mc-white);
    border-right: 1px solid rgba(40, 16, 58, 0.08);
}

#offcanvasNav.offcanvas-mob .offcanvas-header.offcanvas-mob__header {
    border-bottom: 1px solid rgba(40, 16, 58, 0.08);
    padding: 12px 16px;
    align-items: center;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__logo img {
    max-height: 44px;
    width: auto;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__close {
    opacity: 0.75;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__close:hover {
    opacity: 1;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__body {
    padding: 12px 16px 20px;
    font-family: var(--mc-font-body);
    color: var(--mc-black);
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__nav {
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(40, 16, 58, 0.08);
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__nav .nav {
    flex-direction: column;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__nav .nav-link,
#offcanvasNav.offcanvas-mob .offcanvas-mob__nav a.nav-link {
    color: var(--mc-black);
    font-size: 16px;
    font-weight: 500;
    padding: 10px 0;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__nav .nav-link:hover,
#offcanvasNav.offcanvas-mob .offcanvas-mob__nav a.nav-link:hover,
#offcanvasNav.offcanvas-mob .offcanvas-mob__nav .nav-link:focus-visible,
#offcanvasNav.offcanvas-mob .offcanvas-mob__nav a.nav-link:focus-visible {
    color: var(--mc-fiol);
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__nav .nav-link.active,
#offcanvasNav.offcanvas-mob .offcanvas-mob__nav a.nav-link.active {
    color: var(--mc-fiol);
    font-weight: 600;
}

#offcanvasNav .dropdown-item {
    background: transparent;
    color: var(--mc-black);
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    overflow-wrap: break-word;
    word-break: normal;
}

#offcanvasNav .dropdown-item:hover,
#offcanvasNav .dropdown-item:focus-visible {
    background: transparent;
    color: var(--mc-fiol);
}

#offcanvasNav .dropdown-item.active,
#offcanvasNav .dropdown-item:active {
    background: transparent;
    color: var(--mc-fiol);
    font-weight: 600;
}

#offcanvasNav.offcanvas-mob .nav-item.dropdown > .dropdown-toggle,
#offcanvasNav.offcanvas-mob .header-nav-bar__catalog-item > .dropdown-toggle.nav-link,
#offcanvasNav .header-nav-bar__submenu-toggle {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    line-height: 1.3;
    padding-top: 9px;
    padding-bottom: 9px;
}

#offcanvasNav .header-nav-bar__catalog-item > .dropdown-menu > li {
    width: 100%;
    min-width: 0;
}

#offcanvasNav .nav-item.dropdown > .dropdown-toggle::after,
#offcanvasNav .header-nav-bar__submenu-toggle::after {
    display: block;
    content: "";
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    margin-top: 0.35em;
    margin-left: auto;
    border: 0;
    border-right: 2px solid var(--mc-fiol);
    border-bottom: 2px solid var(--mc-fiol);
    transform: rotate(-45deg);
    opacity: 0.7;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

#offcanvasNav .nav-item.dropdown.show > .dropdown-toggle::after,
#offcanvasNav .header-nav-bar__submenu-parent.show > .header-nav-bar__submenu-toggle::after {
    transform: rotate(45deg);
    opacity: 1;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__contacts {
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid rgba(40, 16, 58, 0.08);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__contact-line {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    font-family: var(--mc-font-body);
    font-size: 14px;
    line-height: 1.25;
    color: var(--mc-black);
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__contact-icon {
    flex-shrink: 0;
    width: 20px;
    line-height: 0;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__contact-icon img {
    display: block;
    width: 20px;
    height: auto;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__contact-link {
    color: var(--mc-black);
    text-decoration: none;
    cursor: pointer;
    word-break: break-word;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__contact-link:hover,
#offcanvasNav.offcanvas-mob .offcanvas-mob__contact-link:focus-visible {
    color: var(--mc-fiol);
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__contact-text {
    flex: 1 1 0;
    min-width: 0;
    word-break: break-word;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__contact-text--mode {
    white-space: pre-line;
    line-height: 1.35;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__callback {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(40, 16, 58, 0.08);
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__callback .header-callback-btn,
#offcanvasNav.offcanvas-mob .offcanvas-mob__callback .offcanvas-mob__callback-btn,
#offcanvasNav.offcanvas-mob .offcanvas-mob__callback a.btn-outline-danger.use-ajax {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 14px 22px;
    border-radius: 30px;
    border: 1.5px solid var(--mc-fiol);
    background: var(--mc-fiol);
    color: var(--mc-white);
    font-family: var(--mc-font-body);
    font-weight: 500;
    font-size: var(--mc-p2);
    line-height: var(--mc-p2-lh);
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
}

#offcanvasNav.offcanvas-mob .offcanvas-mob__callback .header-callback-btn:hover,
#offcanvasNav.offcanvas-mob .offcanvas-mob__callback .header-callback-btn:focus-visible,
#offcanvasNav.offcanvas-mob .offcanvas-mob__callback .offcanvas-mob__callback-btn:hover,
#offcanvasNav.offcanvas-mob .offcanvas-mob__callback .offcanvas-mob__callback-btn:focus-visible,
#offcanvasNav.offcanvas-mob .offcanvas-mob__callback a.btn-outline-danger.use-ajax:hover,
#offcanvasNav.offcanvas-mob .offcanvas-mob__callback a.btn-outline-danger.use-ajax:focus-visible {
    background: var(--mc-white);
    border-color: var(--mc-fiol);
    color: var(--mc-fiol);
    box-shadow: none;
}

.offcanvas:not(#offcanvasNav) {
    --bs-offcanvas-bg: var(--mc-white);
}

.offcanvas .offcanvas-title {
    color: var(--mc-black);
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 500;
}

/* Dropdown: шапка/подвал */
#header .header-nav-bar .region-navigation .nav > .nav-item.dropdown:hover > .dropdown-menu,
#header .header-nav-bar .region-navigation .nav > .nav-item.dropdown:focus-within > .dropdown-menu,
#footer .region-navigation .nav > .nav-item:hover .dropdown-menu {
    display: block;
    top: 100%;
    left: 0;
}

#footer.footer--figma .footer-main__nav .dropdown-menu,
#footer.footer--figma .region-navigation .nav > .nav-item:hover .dropdown-menu,
#footer.footer--figma .region-navigation .nav > .nav-item:focus-within .dropdown-menu {
    display: none !important;
}

/* Slick */
.region-slider .view-content:not(.slick-initialized) .views-row {
    display: none;
}

.region-slider .view-content:not(.slick-initialized) .views-row:first-child {
    display: block;
}

/* Slick: slide */
#slider-block .view.view-slayder .slick-slide,
#slider-block .view.view-slayder .slick-slide > div {
    height: auto;
}

#slider-block .node--type-slide {
    position: relative;
    min-height: clamp(280px, 40vw, 640px);
    width: 100%;
    overflow: hidden;
}

#slider-block .node--type-slide :is(.field--name-field-image, .field--name-field-slide-image, .field--name-field-slide-photo) {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    margin: 0;
}

#slider-block .node--type-slide :is(.field--name-field-image, .field--name-field-slide-image, .field--name-field-slide-photo) .field__item {
    height: 100%;
    margin: 0;
}

#slider-block .node--type-slide :is(.field--name-field-image, .field--name-field-slide-image, .field--name-field-slide-photo) picture {
    display: block;
    height: 100%;
    width: 100%;
}

#slider-block .node--type-slide :is(.field--name-field-image, .field--name-field-slide-image, .field--name-field-slide-photo) img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

#slider-block .view.view-slayder .slick-slide .node--type-slide .field--type-image img {
    height: 100%;
    object-fit: cover;
}

#slider-block .node--type-slide :is(.content, .content-container) {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    color: var(--mc-white);
    text-align: left;
    padding-top: clamp(24px, 8.125vw, 156px);
    padding-bottom: clamp(24px, 8.125vw, 156px);
    padding-left: max(1rem, calc((100% - 1170px) / 2));
    padding-right: max(1rem, calc((100% - 1170px) / 2));
}

#slider-block .field--name-field-slide-link {
    flex: none;
    align-self: flex-start;
}

@media (max-width: 991px) {
    #slider-block .node--type-slide :is(.content, .content-container) {
        padding-left: max(1rem, 4vw);
        padding-right: max(1rem, 4vw);
        width: min(100%, min(560px, 92vw));
        max-width: min(560px, 92vw);
        margin-left: 0;
        margin-right: auto;
        text-align: left;
        box-sizing: border-box;
    }

    #slider-block .field--name-field-slide-title,
    #slider-block .node--type-slide :is(.content, .content-container) h2 {
        max-width: min(540px, 90vw);
    }

    #slider-block :is(.field--name-field-slide-body, .field--name-field-slide-description, .field--name-field-slide-text, .field--name-field-slide-lead, .field--name-body) {
        max-width: min(520px, 90vw);
    }
}

#slider-block .field--name-field-slide-title {
    box-sizing: border-box;
    max-width: 640px;
    width: auto;
    min-width: 0;
    flex: none;
    align-self: flex-start;
    margin: 0;
}

#slider-block .field--name-field-slide-title p {
    box-sizing: border-box;
    margin: 0;
    text-align: left;
    font-family: var(--mc-font-heading);
    font-style: normal;
    font-weight: 500;
    font-size: var(--mc-h1);
    line-height: var(--mc-heading-lh);
    color: var(--mc-black);
}

#slider-block :is(.field--name-field-slide-body, .field--name-field-slide-description, .field--name-field-slide-text, .field--name-field-slide-lead, .field--name-body) {
    box-sizing: border-box;
    max-width: 600px;
    width: auto;
    min-width: 0;
    margin: 0;
    flex: none;
    align-self: flex-start;
}

#slider-block :is(.field--name-field-slide-body, .field--name-field-slide-description, .field--name-field-slide-text, .field--name-field-slide-lead, .field--name-body) p {
    margin: 0;
    text-align: left;
    font-family: var(--mc-font-body);
    font-style: normal;
    font-weight: 500;
    font-size: var(--mc-p1);
    line-height: var(--mc-p1-lh);
    color: var(--mc-black);
}

#slider-block :is(.field--name-field-slide-body, .field--name-field-slide-description, .field--name-field-slide-text, .field--name-field-slide-lead, .field--name-body) p + p {
    margin-top: 0.65em;
}

#slider-block .node--type-slide :is(.content, .content-container) h2 {
    box-sizing: border-box;
    max-width: 640px;
    width: auto;
    min-width: 0;
    margin: 0;
    font-family: var(--mc-font-heading);
    font-style: normal;
    font-weight: 500;
    font-size: var(--mc-h1);
    line-height: var(--mc-heading-lh);
    color: var(--mc-black);
    flex: none;
    align-self: flex-start;
}

#slider-block .node--type-slide :is(.content, .content-container) h2 a {
    color: inherit;
    text-decoration: none;
}

#slider-block .node--type-slide :is(.content, .content-container) h2 a:is(:hover, :focus) {
    color: var(--mc-fiol);
}

@media (max-width: 991px) {
    #slider-block .field--name-field-slide-title p,
    #slider-block .node--type-slide :is(.content, .content-container) h2 {
        font-size: clamp(22px, 4.8vw, 36px);
    }

    #slider-block :is(.field--name-field-slide-body, .field--name-field-slide-description, .field--name-field-slide-text, .field--name-field-slide-lead, .field--name-body) p {
        font-size: clamp(15px, 3.8vw, 18px);
    }
}

@media (max-width: 574px) {
    #slider-block .node--type-slide :is(.content, .content-container) {
        padding-left: max(0.75rem, 3vw);
        padding-right: max(0.75rem, 3vw);
        width: min(100%, min(420px, 88vw));
        max-width: min(420px, 88vw);
        gap: 18px;
    }

    #slider-block .field--name-field-slide-title,
    #slider-block .node--type-slide :is(.content, .content-container) h2 {
        max-width: min(400px, 86vw);
    }

    #slider-block :is(.field--name-field-slide-body, .field--name-field-slide-description, .field--name-field-slide-text, .field--name-field-slide-lead, .field--name-body) {
        max-width: min(380px, 86vw);
    }

    #slider-block .field--name-field-slide-title p,
    #slider-block .node--type-slide :is(.content, .content-container) h2 {
        font-size: clamp(29px, 4.2vw, 36px);
    }

    #slider-block :is(.field--name-field-slide-body, .field--name-field-slide-description, .field--name-field-slide-text, .field--name-field-slide-lead, .field--name-body) p {
        font-size: clamp(12px, 3.4vw, 16px);
    }
}

.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: calc(50% - 10px);
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    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("/sites/all/themes/vesta_theme/image/arrow-top.svg");
    transform: rotate(-90deg);
}

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

#scrollToTop {
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background-color: var(--mc-white);
    color: var(--mc-fiol);
    bottom: 120px;
    cursor: pointer;
    position: fixed;
    right: 75px;
    z-index: 10;
    display: none;
    transition: opacity 0.2s ease;
}

#scrollToTop .scroll-to-top__icon {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    width: 30px;
    height: 30px;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

#scrollToTop:hover {
    opacity: 0.9;
}

#scrollToTop:focus-visible {
    outline: 2px solid var(--mc-fiol);
    outline-offset: 2px;
}

@media (max-width: 991px) {
    #scrollToTop {
        width: 36px;
        height: 36px;
        border-radius: 8px;
        right: 1rem;
        bottom: 5rem;
    }

    #scrollToTop .scroll-to-top__icon {
        width: 26px;
        height: 26px;
    }
}

/* Footer */
#footer.footer--figma .footer-main {
    box-sizing: border-box;
    background: var(--mc-fiol-dark);
    padding: 45px 0 81px;
    color: var(--mc-white);
}

#footer.footer--figma .footer-main__container {
    max-width: 1170px;
}

#footer.footer--figma .footer-main__grid {
    display: grid;
    grid-template-columns: minmax(0, 210px) minmax(0, 1fr) minmax(0, 400px);
    grid-template-rows: auto auto;
    column-gap: clamp(24px, 4vw, 40px);
    row-gap: 20px;
    align-items: start;
}

#footer.footer--figma .footer-main__brand {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
}

#footer.footer--figma .footer-main__nav {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    min-width: 0;
    max-width: 100%;
}

#footer.footer--figma .footer-main__logo-link {
    display: inline-block;
    line-height: 0;
}

#footer.footer--figma .footer-main__logo {
    width: 100%;
    max-width: 210px;
    height: auto;
    display: block;
}

#footer.footer--figma .footer-main__msngrs {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
}

#footer.footer--figma .footer-main__msngr {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    line-height: 0;
    border-radius: 6px;
    flex-shrink: 0;
    background-color: var(--mc-fiol);
    color: var(--mc-white);
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

#footer.footer--figma .footer-main__msngr:hover,
#footer.footer--figma .footer-main__msngr:focus {
    background-color: var(--mc-white);
    color: var(--mc-fiol);
}

#footer.footer--figma .footer-main__msngr img {
    display: block;
    width: 35px;
    height: 35px;
}

#footer.footer--figma .footer-main__msngr-svg {
    display: block;
    width: 27px;
    height: 27px;
    flex-shrink: 0;
}

#footer.footer--figma .footer-main__copyright {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    padding: 0;
    max-width: 210px;
    align-self: start;
    font-family: var(--mc-font-body);
    font-size: 14px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--mc-white);
}

#footer.footer--figma .footer-main__nav .nav {
    display: grid;
    grid-auto-flow: row;
    grid-template-rows: none;
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 14px;
    align-content: start;
    justify-content: start;
    max-width: 100%;
    min-width: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

#footer.footer--figma .footer-main__nav .nav-item {
    padding: 0;
}

/* Подвал: порядок */
#footer.footer--figma .footer-main__nav .nav-item:is(:has(.nav-link[href*="katalog"]), :has(.nav-link[data-drupal-link-system-path*="katalog"])) {
    grid-row: auto;
    grid-column: auto;
}

#footer.footer--figma .footer-main__nav .nav-link {
    padding: 0;
    margin: 0;
    font-family: var(--mc-font-body);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    color: var(--mc-white);
    text-decoration: none;
    cursor: pointer;
    overflow-wrap: break-word;
    word-break: break-word;
}

#footer.footer--figma .footer-main__nav .nav-link:hover,
#footer.footer--figma .footer-main__nav .nav-link:focus {
    color: var(--mc-fiol);
    text-decoration: none;
}

#footer.footer--figma .footer-main__nav .dropdown-toggle::after {
    display: none;
    content: none;
    margin-left: 0;
    border: 0;
}

#footer.footer--figma .footer-main__contacts {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
    min-width: 0;
    max-width: 100%;
    margin-inline-start: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#footer.footer--figma .footer-contact {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

#footer.footer--figma .footer-contact__icon {
    flex-shrink: 0;
    line-height: 0;
}

#footer.footer--figma .footer-contact__icon img {
    display: block;
    filter: brightness(0) invert(1);
}

#footer.footer--figma .footer-contact__icon--plain img {
    filter: none;
}

#footer.footer--figma .footer-contact__link,
#footer.footer--figma .footer-contact__text {
    font-family: var(--mc-font-body);
    font-size: 14px;
    line-height: 1.1;
    font-weight: 500;
    color: var(--mc-white);
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
}

#footer.footer--figma .footer-contact__text--mode {
    white-space: pre-line;
    line-height: 1.35;
}

#footer.footer--figma .footer-contact:has(.footer-contact__text--mode) {
    align-items: flex-start;
}

#footer.footer--figma .footer-contact__link {
    text-decoration: none;
}

#footer.footer--figma .footer-contact__link:hover,
#footer.footer--figma .footer-contact__link:focus {
    color: var(--mc-fiol);
    text-decoration: none;
}

#footer.footer--figma .footer-bottom {
    background: var(--mc-fiol-dark);
    padding: 13px 0 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

#footer.footer--figma .footer-bottom__container {
    max-width: 1170px;
}

#footer.footer--figma .footer-bottom__links {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    gap: 12px 47px;
}

#footer.footer--figma .footer-bottom__link {
    font-family: var(--mc-font-body);
    font-size: 14px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--mc-white);
    text-decoration: none;
    cursor: pointer;
}

#footer.footer--figma .footer-bottom__link:hover,
#footer.footer--figma .footer-bottom__link:focus {
    color: var(--mc-fiol);
    text-decoration: none;
}

@media screen and (min-width: 992px) {
    #footer.footer--figma .footer-main {
        padding-inline-end: 20px;
    }

    #footer.footer--figma .footer-main__grid {
        column-gap: 40px;
        grid-template-columns: minmax(0, 210px) minmax(0, 1fr) minmax(280px, 1.35fr);
        min-width: 0;
    }

    #footer.footer--figma .footer-main__contacts {
        margin-inline-start: 0;
        padding-inline-start: 129px;
    }

    #footer.footer--figma .footer-main__nav .nav {
        grid-auto-flow: column;
        grid-template-rows: repeat(4, auto);
        grid-template-columns: repeat(2, max-content);
        column-gap: 40px;
        row-gap: 14px;
        align-content: start;
        justify-content: start;
    }

    #footer.footer--figma .footer-main__nav .nav-item:is(:has(.nav-link[href*="katalog"]), :has(.nav-link[data-drupal-link-system-path*="katalog"])) {
        grid-row: 4;
        grid-column: 1;
    }

    #footer.footer--figma .footer-main__nav .nav-link:is([href*="informaciya-dlya-pacientov"], [data-drupal-link-system-path*="informaciya-dlya-pacientov"]) {
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    #footer.footer--figma .footer-main__nav .nav-link {
        font-size: 14px;
    }
}

@media (max-width: 991px) {
    #footer.footer--figma .footer-main {
        padding: 32px 0 48px;
    }
}

@media screen and (min-width: 575px) and (max-width: 991px) {
    #footer.footer--figma .footer-main__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        column-gap: clamp(20px, 4vw, 40px);
        row-gap: clamp(22px, 3.5vw, 32px);
        align-items: start;
        justify-items: stretch;
    }

    #footer.footer--figma .footer-main__brand {
        grid-column: 1 / -1;
        grid-row: 1;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: clamp(16px, 4vw, 32px);
        width: 100%;
        max-width: 100%;
        text-align: center;
    }

    #footer.footer--figma .footer-main__logo-link {
        flex-shrink: 0;
    }

    #footer.footer--figma .footer-main__msngrs {
        margin-top: 0;
        justify-content: center;
        flex-shrink: 0;
    }

    #footer.footer--figma .footer-main__nav {
        grid-column: 1;
        grid-row: 2;
        min-width: 0;
        max-width: 100%;
        width: 100%;
    }

    #footer.footer--figma .footer-main__contacts {
        grid-column: 2;
        grid-row: 2;
        min-width: 0;
        max-width: 100%;
        width: 100%;
        margin-inline-start: 0;
    }

    #footer.footer--figma .footer-main__copyright {
        grid-column: 1 / -1;
        grid-row: 3;
        max-width: 100%;
        width: 100%;
        text-align: center;
        justify-self: center;
        font-size: 13px;
    }

    #footer.footer--figma .footer-main__nav .nav-link {
        font-size: 15px;
    }

    #footer.footer--figma .footer-contact__link,
    #footer.footer--figma .footer-contact__text {
        font-size: 13px;
    }

    #footer.footer--figma .footer-bottom__link {
        font-size: 13px;
    }
}

@media screen and (max-width: 574px) {
    #footer.footer--figma .footer-main__grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 32px;
        justify-items: center;
    }

    #footer.footer--figma .footer-main__brand,
    #footer.footer--figma .footer-main__nav,
    #footer.footer--figma .footer-main__contacts,
    #footer.footer--figma .footer-main__copyright {
        grid-column: 1;
        grid-row: auto;
    }

    #footer.footer--figma .footer-main__copyright {
        max-width: none;
    }

    #footer.footer--figma .footer-main__nav {
        display: none;
    }

    #footer.footer--figma .footer-main__brand {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
    }

    #footer.footer--figma .footer-main__copyright {
        text-align: center;
        max-width: 100%;
        width: 100%;
        margin-top: 0;
    }

    #footer.footer--figma .footer-main__msngrs {
        justify-content: center;
    }

    #footer.footer--figma .footer-main__contacts {
        align-items: center;
        width: 100%;
        margin-inline-start: 0;
    }

    #footer.footer--figma .footer-contact {
        justify-content: center;
        text-align: center;
    }

    #footer.footer--figma .footer-bottom__links {
        justify-content: center;
    }
}

/* Product */
.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-view-full button.slick-prev.slick-arrow {
    left: -25px;
}

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


.node--view-mode-full .field--name-body img {
    margin: 0 10px;
}

@media screen and (max-width: 991px) {
    #offcanvasNav .nav .dropdown-menu {
        display: none;
        position: static;
        border: 0px solid;
        background: transparent;
        padding: 10px 0;
        border-bottom: 1px solid rgba(40, 16, 58, 0.12);
    }

    #offcanvasNav li.nav-item,
    #offcanvasNav .dropdown-menu > li {
        width: 100%;
        min-width: 0;
    }

    #offcanvasNav .dropdown-menu .dropdown-item {
        max-width: 100%;
    }
}

/* Views: ссылка справа */
.section-services:not(.section-specialists) .section-services__inner .block:has(.view-katalog-uslug),
.front-gallery .front-gallery__view .block:has(.view),
.section-specialists .section-services__inner .block:has(.view) {
    position: relative;
}

/* Обёртки: position static */
.section-services:not(.section-specialists) .section-services__inner .block:has(.view-katalog-uslug) > .views-element-container,
.section-services:not(.section-specialists) .section-services__inner .block:has(.view-katalog-uslug) .view-katalog-uslug,
.front-gallery .front-gallery__view .block:has(.view) > .views-element-container,
.front-gallery .front-gallery__view .block:has(.view) .view,
.section-specialists .section-services__inner .block:has(.view) > .views-element-container,
.section-specialists .section-services__inner .block:has(.view) .view {
    position: static;
}

.section-services:not(.section-specialists) .section-services__inner .block:has(.view-katalog-uslug) > :is(.block-heading-line, h2.block-title),
.front-gallery .front-gallery__view .block:has(.view) > :is(.block-heading-line, h2.block-title),
.section-specialists .section-services__inner .block:has(.view) > :is(.block-heading-line, h2.block-title) {
    padding-right: clamp(10.5rem, 26%, 15rem);
    margin: 0 0 30px;
    box-sizing: border-box;
}

.section-services:not(.section-specialists) .section-services__inner .block:has(.view-katalog-uslug) .more-link,
.section-services:not(.section-specialists) .section-services__inner .block:has(.view-katalog-uslug) .view-katalog-uslug > .view-header:has(a):not(:has(.more-link)),
.front-gallery .front-gallery__view .block:has(.view) .more-link,
.front-gallery .front-gallery__view .block:has(.view) .view > .view-header:has(a):not(:has(.more-link)),
.section-specialists .section-services__inner .block:has(.view) .more-link,
.section-specialists .section-services__inner .block:has(.view) .view > .view-header:has(a):not(:has(.more-link)) {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    width: auto;
    max-width: clamp(10rem, 30%, 16rem);
    height: calc(var(--mc-h2) * var(--mc-heading-lh));
    display: flex;
    justify-content: flex-end;
    align-items: center;
    text-align: right;
    z-index: 2;
    box-sizing: border-box;
}

/* Каталог услуг */
.view-katalog-uslug .view-content {
    counter-reset: service;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(12px, 3vw, 20px);
    justify-content: stretch;
    align-items: stretch;
    min-width: 0;
}

@media screen and (min-width: 575px) {
    .view-katalog-uslug .view-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }
}

@media screen and (min-width: 768px) {
    .view-katalog-uslug .view-content {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media screen and (min-width: 992px) {
    .view-katalog-uslug .view-content {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

.view-katalog-uslug .view-header {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.25rem;
    margin: 0 0 30px;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
}

.view-katalog-uslug .view-header > h2:first-of-type,
.view-katalog-uslug .view-header > h3:first-of-type {
    margin: 0;
    margin-right: auto;
}

.view-katalog-uslug .view-header > *:not(h2):not(h3) {
    flex: 0 0 auto;
}

.view-katalog-uslug .views-row {
    counter-increment: service;
    --mc-katalog-text-link-gap: 10px;
    --mc-katalog-link-to-card: 17px;
    --mc-katalog-link-lh: 1;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 165px;
    max-width: 100%;
    margin: 0;
    padding: 14px 13px var(--mc-katalog-link-to-card);
    background: var(--mc-fiol-2);
    border-radius: 20px;
    transition: background .22s ease;
}

/* Каталог: нода */
.view-katalog-uslug .views-row > .contextual-region,
.view-katalog-uslug .views-row > *:first-child {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) {
    background: linear-gradient(to bottom left, #e6dff3 0%, #b6a3d8 73%, #9484ca 100%);
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) .layout__region--first:not(:has(.group-up, .group_up, .group-down, .group_down))::before,
.view-katalog-uslug .views-row:is(:hover, :focus-within) :is(.group-up, .group_up)::before,
.view-katalog-uslug .views-row:is(:hover, :focus-within) > .node:not(:has(.layout__region--first))::before {
    color: rgba(255, 255, 255, 0.92);
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-title,
.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-title h2,
.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-title h3 {
    color: var(--mc-white);
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-title a {
    color: var(--mc-white);
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-link a,
.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-readmore a,
.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--type-link a,
.view-katalog-uslug .views-row:is(:hover, :focus-within) a.read-more {
    color: var(--mc-white);
    text-decoration: underline;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-link a:hover,
.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-readmore a:hover,
.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--type-link a:hover,
.view-katalog-uslug .views-row:is(:hover, :focus-within) a.read-more:hover {
    color: var(--mc-white);
    opacity: 0.9;
    text-decoration: underline;
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-field-image,
.view-katalog-uslug .views-row:is(:hover, :focus-within) .blazy--field-image {
    background: rgba(255, 255, 255, 0.95);
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-field-image img,
.view-katalog-uslug .views-row:is(:hover, :focus-within) .blazy--field-image img {
    opacity: 0.95;
}

.view-katalog-uslug .views-row .node {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

.view-katalog-uslug .views-row .node__content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

.view-katalog-uslug .views-row .layout.ds-1col {
    margin: 0;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

/* DS: абсолют */
.view-katalog-uslug .views-row .layout__region--first:has(.group-up, .group_up, .group-down, .group_down) {
    position: relative;
    display: block;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    box-sizing: border-box;
    height: 100%;
    overflow: hidden;
}

.view-katalog-uslug .views-row .layout__region--first:has(.group-up, .group_up, .group-down, .group_down)::before {
    content: none;
}

.view-katalog-uslug .views-row .layout__region--first :is(.group-up, .group_up) {
    position: static;
    display: block;
    width: 100%;
    height: 100%;
}

.view-katalog-uslug .views-row .layout__region--first :is(.group-up, .group_up)::before {
    content: counter(service, decimal-leading-zero);
    position: absolute;
    top: calc(58px / 2);
    left: 0;
    z-index: 1;
    transform: translateY(-50%);
    font-family: var(--mc-font-heading);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.1;
    color: var(--mc-fiol-3);
}

.view-katalog-uslug .views-row .layout__region--first :is(.group-down, .group_down) {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.view-katalog-uslug .views-row :is(.group-up, .group_up) .field--name-field-image,
.view-katalog-uslug .views-row :is(.group-up, .group_up) .blazy--field-image {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 58px;
    height: 58px;
    min-width: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    background: var(--mc-white);
    border-radius: 50%;
}

.view-katalog-uslug .views-row :is(.group-up, .group_up) .field--name-node-title {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(var(--mc-p1) * var(--mc-katalog-link-lh) + var(--mc-katalog-text-link-gap));
    z-index: 1;
    margin: 0;
    padding: 0;
    max-width: 100%;
    font-family: var(--mc-font-heading);
    font-size: var(--mc-h6);
    font-weight: 500;
    line-height: var(--mc-heading-lh);
    color: var(--mc-black);
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.view-katalog-uslug .views-row :is(.group-down, .group_down) .field--name-node-link,
.view-katalog-uslug .views-row :is(.group-down, .group_down) .field--name-node-readmore,
.view-katalog-uslug .views-row :is(.group-down, .group_down) .field--type-link {
    margin: 0;
    padding: 0;
    font-family: var(--mc-font-body);
    font-size: var(--mc-p1);
    font-weight: 500;
    line-height: var(--mc-katalog-link-lh);
}

.view-katalog-uslug .views-row :is(.group-down, .group_down) .field--name-node-link .field__item,
.view-katalog-uslug .views-row :is(.group-down, .group_down) .field--name-node-readmore .field__item,
.view-katalog-uslug .views-row :is(.group-down, .group_down) .field--type-link .field__item {
    margin: 0;
    padding: 0;
    display: block;
    line-height: inherit;
}

.view-katalog-uslug .views-row :is(.group-down, .group_down) .field--name-node-link a,
.view-katalog-uslug .views-row :is(.group-down, .group_down) .field--name-node-readmore a,
.view-katalog-uslug .views-row :is(.group-down, .group_down) .field--type-link a {
    line-height: inherit;
    display: inline-block;
    margin: 0;
    padding: 0;
    vertical-align: bottom;
}

.view-katalog-uslug .views-row .field--name-node-title .field__item {
    display: block;
    margin: 0;
    padding: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* Каталог: без DS */
.view-katalog-uslug .views-row .layout__region--first:not(:has(.group-up, .group_up, .group-down, .group_down)),
.view-katalog-uslug .views-row > .node:not(:has(.layout__region--first)) {
    position: relative;
    display: block;
    flex: 1 1 auto;
    min-height: 0;
    box-sizing: border-box;
    height: 100%;
    overflow: hidden;
}

.view-katalog-uslug .views-row .layout__region--first:not(:has(.group-up, .group_up, .group-down, .group_down))::before,
.view-katalog-uslug .views-row > .node:not(:has(.layout__region--first))::before {
    content: counter(service, decimal-leading-zero);
    position: absolute;
    top: calc(58px / 2);
    left: 0;
    z-index: 1;
    transform: translateY(-50%);
    font-family: var(--mc-font-heading);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.1;
    color: var(--mc-fiol-3);
}

.view-katalog-uslug .views-row .layout__region--first:not(:has(.group-up, .group_up, .group-down, .group_down)) :is(.field--name-field-image, .blazy--field-image),
.view-katalog-uslug .views-row > .node:not(:has(.layout__region--first)) :is(.field--name-field-image, .blazy--field-image) {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 58px;
    height: 58px;
    min-width: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    background: var(--mc-white);
    border-radius: 50%;
}

.view-katalog-uslug .views-row .layout__region--first:not(:has(.group-up, .group_up, .group-down, .group_down)) .field--name-node-title,
.view-katalog-uslug .views-row > .node:not(:has(.layout__region--first)) .field--name-node-title {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(var(--mc-p1) * var(--mc-katalog-link-lh) + var(--mc-katalog-text-link-gap));
    z-index: 1;
    margin: 0;
    padding: 0;
    font-family: var(--mc-font-heading);
    font-size: var(--mc-h6);
    font-weight: 500;
    line-height: var(--mc-heading-lh);
    color: var(--mc-black);
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) :is(.group-up, .group_up) .field--name-node-title,
.view-katalog-uslug .views-row:is(:hover, :focus-within) .layout__region--first:not(:has(.group-up, .group_up, .group-down, .group_down)) .field--name-node-title,
.view-katalog-uslug .views-row:is(:hover, :focus-within) > .node:not(:has(.layout__region--first)) .field--name-node-title,
.view-katalog-uslug .views-row:is(:hover, :focus-within) :is(.group-up, .group_up) .field--name-node-title :is(h2, h3),
.view-katalog-uslug .views-row:is(:hover, :focus-within) .layout__region--first:not(:has(.group-up, .group_up, .group-down, .group_down)) .field--name-node-title :is(h2, h3),
.view-katalog-uslug .views-row:is(:hover, :focus-within) > .node:not(:has(.layout__region--first)) .field--name-node-title :is(h2, h3) {
    color: var(--mc-white);
}

.view-katalog-uslug .views-row .layout__region--first:not(:has(.group-up, .group_up, .group-down, .group_down)) :is(.field--name-node-link, .field--name-node-readmore, .field--type-link),
.view-katalog-uslug .views-row > .node:not(:has(.layout__region--first)) :is(.field--name-node-link, .field--name-node-readmore, .field--type-link) {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--mc-font-body);
    font-size: var(--mc-p1);
    font-weight: 500;
    line-height: var(--mc-katalog-link-lh);
}

.view-katalog-uslug .views-row .layout__region--first:not(:has(.group-up, .group_up, .group-down, .group_down)) :is(.field--name-node-link, .field--name-node-readmore, .field--type-link) .field__item,
.view-katalog-uslug .views-row > .node:not(:has(.layout__region--first)) :is(.field--name-node-link, .field--name-node-readmore, .field--type-link) .field__item {
    margin: 0;
    padding: 0;
    display: block;
    line-height: inherit;
}

.view-katalog-uslug .views-row .layout__region--first:not(:has(.group-up, .group_up, .group-down, .group_down)) :is(.field--name-node-link, .field--name-node-readmore, .field--type-link) a,
.view-katalog-uslug .views-row > .node:not(:has(.layout__region--first)) :is(.field--name-node-link, .field--name-node-readmore, .field--type-link) a {
    line-height: inherit;
    display: inline-block;
    margin: 0;
    padding: 0;
    vertical-align: bottom;
}

.view-katalog-uslug .views-row .field--name-field-image .field__item,
.view-katalog-uslug .views-row .blazy--field-image .field__item {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.view-katalog-uslug .views-row .field--name-field-image picture,
.view-katalog-uslug .views-row .blazy--field-image picture {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.view-katalog-uslug .views-row .field--name-field-image img,
.view-katalog-uslug .views-row .blazy--field-image img,
.view-katalog-uslug .views-row .field--name-field-image svg,
.view-katalog-uslug .views-row .blazy--field-image svg {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

.view-katalog-uslug .views-row .field--name-node-title h2,
.view-katalog-uslug .views-row .field--name-node-title h3 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.view-katalog-uslug .views-row .field--name-node-title a {
    color: inherit;
    text-decoration: none;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.view-katalog-uslug .views-row .field--name-node-title a:hover {
    color: var(--mc-fiol);
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-title a:hover {
    color: var(--mc-white);
    opacity: 0.92;
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-title .field__item {
    color: var(--mc-white);
}

.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-title h4,
.view-katalog-uslug .views-row:is(:hover, :focus-within) .field--name-node-title span {
    color: var(--mc-white);
}

.view-katalog-uslug .views-row:not(:hover):not(:focus-within) .field--name-node-link a,
.view-katalog-uslug .views-row:not(:hover):not(:focus-within) .field--name-node-readmore a,
.view-katalog-uslug .views-row:not(:hover):not(:focus-within) .field--type-link a,
.view-katalog-uslug .views-row:not(:hover):not(:focus-within) a.read-more {
    color: var(--mc-fiol);
    text-decoration: underline;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.view-katalog-uslug .views-row:not(:hover):not(:focus-within) .field--name-node-link a:hover,
.view-katalog-uslug .views-row:not(:hover):not(:focus-within) .field--name-node-readmore a:hover,
.view-katalog-uslug .views-row:not(:hover):not(:focus-within) .field--type-link a:hover {
    text-decoration: none;
}

.page.vesta-katalog-section-page .view-katalog-uslug .view-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media screen and (min-width: 768px) {
    .page.vesta-katalog-section-page .view-katalog-uslug .view-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.page.vesta-katalog-section-page #main > .wr_content > .container {
    max-width: calc(1280px + var(--bs-gutter-x, 1.5rem));
}

.page.vesta-katalog-section-page .view-katalog-uslug .views-row {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 136px;
    padding: 24px 23px;
}

.page.vesta-katalog-section-page .view-katalog-uslug .views-row > .contextual-region,
.page.vesta-katalog-section-page .view-katalog-uslug .views-row > *:first-child,
.page.vesta-katalog-section-page .view-katalog-uslug .views-row .node,
.page.vesta-katalog-section-page .view-katalog-uslug .views-row .node__content,
.page.vesta-katalog-section-page .view-katalog-uslug .views-row .layout.ds-1col,
.page.vesta-katalog-section-page .view-katalog-uslug .views-row .layout__region--first {
    position: static;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    align-items: stretch;
    min-height: 0;
    height: 100%;
    overflow: visible;
}

.page.vesta-katalog-section-page .view-katalog-uslug .views-row :is(.group-up, .group_up, .group-down, .group_down) {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    overflow: visible;
}

.page.vesta-katalog-section-page .view-katalog-uslug .views-row :is(.group-up, .group_up) {
    flex: 1 1 auto;
    min-height: 0;
}

.page.vesta-katalog-section-page .view-katalog-uslug .views-row :is(.group-down, .group_down) {
    flex: 0 0 auto;
}

.page.vesta-katalog-section-page .view-katalog-uslug .views-row :is(.field--name-field-image, .blazy--field-image) {
    display: none;
}

.page.vesta-katalog-section-page .view-katalog-uslug .views-row :is(.field--name-node-title, .field--name-node-title .field__item) {
    position: static;
    flex: 0 1 auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.page.vesta-katalog-section-page .view-katalog-uslug .views-row :is(.field--name-node-title, .field--name-node-title .field__item, .field--name-node-title a, .field--name-node-title :is(h2, h3)) {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.page.vesta-katalog-section-page .view-katalog-uslug .views-row :is(.group-down, .group_down),
.page.vesta-katalog-section-page .view-katalog-uslug .views-row :is(.field--name-node-link, .field--name-node-readmore, .field--type-link) {
    position: static;
    margin: auto 0 0;
    padding: 0;
    flex-shrink: 0;
}

.page.vesta-katalog-section-page .view-katalog-uslug .views-row .layout__region--first :is(.group-up, .group_up)::before,
.page.vesta-katalog-section-page .view-katalog-uslug .views-row .layout__region--first:not(:has(.group-up, .group_up, .group-down, .group_down))::before,
.page.vesta-katalog-section-page .view-katalog-uslug .views-row > .node:not(:has(.layout__region--first))::before {
    content: none;
}

@media screen and (max-width: 576px) {
    .view-katalog-uslug .view-content {
        gap: clamp(10px, 2.5vw, 18px);
    }

    .view-katalog-uslug .views-row {
        width: 100%;
        max-width: 100%;
        height: 165px;
        padding: 12px 12px var(--mc-katalog-link-to-card);
    }

    .page.vesta-katalog-section-page .view-katalog-uslug .view-content {
        grid-template-columns: 1fr;
    }

    .page.vesta-katalog-section-page .view-katalog-uslug .views-row {
        width: 100%;
        max-width: 100%;
        height: 100%;
        min-height: 124px;
        padding: 20px 21px;
    }
}

/* Главная: панель */
.wrapper_gradient {
    margin: 0;
    padding: clamp(2.5rem, 5vw, 4.5rem) 0;
    border-radius: 60px;
    width: 100%;
    box-sizing: border-box;
    background-color: var(--mc-bg-panel);
    background-image: url("../image/fon.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    overflow: hidden;
}

.wrapper_gradient .wrapper_about {
    padding-top: clamp(12px, 2.5vw, 28px);
}

/* О клинике: макет */
.vesta-o-klinike > .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 30px;
    margin: 0;
    padding: 0;
    min-height: 0;
}

.vesta-o-klinike > div:has(> .group-left):has(> .group-right) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 30px;
    margin: 0;
    padding: 0;
    min-height: 0;
}

.block-content--type-o-klinike.ds-2col:has(> .group-left):has(> .group-right),
.block-content--type-o-klinike.ds-2col-fluid:has(> .group-left):has(> .group-right),
.vesta-o-klinike.ds-2col:has(> .group-left):has(> .group-right),
.vesta-o-klinike.ds-2col-fluid:has(> .group-left):has(> .group-right) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 30px;
    margin: 0;
    padding: 0;
    min-height: 0;
}

.block-content--type-o-klinike.ds-2col:has(> .group-left):has(> .group-right) > .group-left,
.block-content--type-o-klinike.ds-2col-fluid:has(> .group-left):has(> .group-right) > .group-left,
.vesta-o-klinike.ds-2col:has(> .group-left):has(> .group-right) > .group-left,
.vesta-o-klinike.ds-2col-fluid:has(> .group-left):has(> .group-right) > .group-left {
    float: none;
    width: auto;
    flex: 1 1 0;
    min-width: min(100%, clamp(220px, 38vw, 480px));
    max-width: none;
}

.block-content--type-o-klinike.ds-2col:has(> .group-left):has(> .group-right) > .group-right,
.block-content--type-o-klinike.ds-2col-fluid:has(> .group-left):has(> .group-right) > .group-right,
.vesta-o-klinike.ds-2col:has(> .group-left):has(> .group-right) > .group-right,
.vesta-o-klinike.ds-2col-fluid:has(> .group-left):has(> .group-right) > .group-right {
    float: none;
    flex: 0 1 570px;
    min-width: 0;
    width: auto;
    max-width: min(570px, 100%);
}

.vesta-o-klinike > .row > .col-lg-6:first-child {
    flex: 1 1 0;
    min-width: min(100%, clamp(220px, 38vw, 480px));
    max-width: none;
    width: auto;
}

.vesta-o-klinike > .row > .col-lg-6:last-child {
    flex: 0 1 570px;
    min-width: 0;
    width: auto;
    max-width: min(570px, 100%);
}

.vesta-o-klinike > div:has(> .group-left):has(> .group-right) > .group-left {
    flex: 1 1 0;
    min-width: min(100%, clamp(220px, 38vw, 480px));
}

.vesta-o-klinike > div:has(> .group-left):has(> .group-right) > .group-right {
    flex: 0 1 570px;
    min-width: 0;
    width: auto;
    max-width: min(570px, 100%);
}

.vesta-o-klinike .block-title,
.vesta-o-klinike .vesta-o-klinike__title {
    margin: 0 0 20px;
}

.vesta-o-klinike .group-left > .block-title,
.vesta-o-klinike .group-left > h2.block-title {
    margin: 0 0 20px;
}

.block-content--type-o-klinike .group-left .field--name-block-description h2.block-title,
.vesta-o-klinike .group-left .field--name-block-description h2.block-title,
.wrapper_gradient .wrapper_about .block-content--type-o-klinike .field--name-block-description h2.block-title {
    margin-top: 0;
    margin-bottom: 20px;
}

.vesta-o-klinike .vesta-o-klinike__text {
    margin: 0 0 20px;
}

.vesta-o-klinike .group-left .field--name-body {
    margin: 0 0 20px;
}

.vesta-o-klinike .vesta-o-klinike__text > :last-child,
.vesta-o-klinike .group-left .field--name-body > :last-child {
    margin-bottom: 0;
}

.vesta-o-klinike .vesta-o-klinike__text > :first-child,
.vesta-o-klinike .group-left .field--name-body > :first-child {
    margin-top: 0;
}

.vesta-o-klinike .vesta-o-klinike__cta {
    margin-top: 0;
}

.vesta-o-klinike .group-left .field--type-link {
    margin-top: 0;
}

.vesta-o-klinike__media {
    flex: 0 1 auto;
    align-self: stretch;
    width: 100%;
    max-width: 570px;
    height: auto;
    aspect-ratio: 570 / 360;
    border-radius: 30px;
    overflow: hidden;
    box-sizing: border-box;
    min-width: 0;
}

.vesta-o-klinike__media img,
.vesta-o-klinike__media picture,
.vesta-o-klinike__media .field__item {
    display: block;
    width: 100%;
    height: 100%;
}

.vesta-o-klinike__media picture {
    border-radius: 30px;
    overflow: hidden;
}

.vesta-o-klinike__media img {
    border-radius: 30px;
    object-fit: cover;
    object-position: center;
}

.vesta-o-klinike__media .media,
.vesta-o-klinike__media article.media {
    margin: 0;
    padding: 0;
    height: 100%;
    max-width: none;
    border-radius: 30px;
    overflow: hidden;
    box-sizing: border-box;
}

.vesta-o-klinike__media .field,
.vesta-o-klinike__media .field__item {
    height: 100%;
    margin: 0;
}

.wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child .field--type-image,
.wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child [class*="field--name-field-image"],
.wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child [class*="field--name-field-media"] {
    margin: 0;
    width: 100%;
    max-width: 570px;
    height: auto;
    aspect-ratio: 570 / 360;
    border-radius: 30px;
    overflow: hidden;
    box-sizing: border-box;
}

.wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child .field__item {
    height: 100%;
    margin: 0;
}

.wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child picture {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    overflow: hidden;
}

.wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child .media,
.wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child article.media {
    margin: 0;
    padding: 0;
    height: 100%;
    max-width: none;
    border-radius: 30px;
    overflow: hidden;
    box-sizing: border-box;
}

.wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    object-fit: cover;
    object-position: center;
}

:is(.block-content--type-o-klinike, .vesta-o-klinike) .group-right > .field {
    margin: 0;
    width: 100%;
    max-width: 570px;
    height: auto;
    aspect-ratio: 570 / 360;
    border-radius: 30px;
    overflow: hidden;
    box-sizing: border-box;
}

:is(.block-content--type-o-klinike, .vesta-o-klinike) .group-right .field__item {
    height: 100%;
    margin: 0;
}

:is(.block-content--type-o-klinike, .vesta-o-klinike) .group-right picture {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    overflow: hidden;
}

:is(.block-content--type-o-klinike, .vesta-o-klinike) .group-right :is(.media, article.media) {
    margin: 0;
    padding: 0;
    height: 100%;
    max-width: none;
    border-radius: 30px;
    overflow: hidden;
    box-sizing: border-box;
}

:is(.block-content--type-o-klinike, .vesta-o-klinike) .group-right :is(.media__element, [class*="blazy"]) {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    overflow: hidden;
    box-sizing: border-box;
}

:is(.block-content--type-o-klinike, .vesta-o-klinike) .group-right img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    object-fit: cover;
    object-position: center;
}

.wrapper_gradient .wrapper_about + .section-benefits {
    margin-top: clamp(3rem, 10vw, 110px);
}

.wrapper_gradient .wrapper_about .block-title,
.wrapper_gradient .vesta-o-klinike .vesta-o-klinike__title {
    font-family: var(--mc-font-heading);
    font-size: var(--mc-h2);
    font-weight: 500;
    line-height: var(--mc-heading-lh);
    color: var(--mc-black);
}

.wrapper_gradient .wrapper_about .vesta-o-klinike h2.block-title {
    margin: 0 0 20px;
}

.wrapper_gradient :is(.vesta-o-klinike .vesta-o-klinike__text, .vesta-o-klinike .vesta-o-klinike__text .field__item, .vesta-o-klinike .group-left .field--name-body, .block-content--type-o-klinike .group-left .field--name-body) {
    color: var(--mc-black);
    font-size: var(--mc-p1);
    line-height: 1.35;
}

.wrapper_gradient .vesta-o-klinike :is(.vesta-o-klinike__text, .group-left .field--name-body) p {
    margin: 0 0 0.5em;
}

.wrapper_gradient .vesta-o-klinike :is(.vesta-o-klinike__text, .group-left .field--name-body) p:last-child {
    margin-bottom: 0;
}

:is(.block-content--type-o-klinike .group-left .field--name-body, .vesta-o-klinike .vesta-o-klinike__text, .vesta-o-klinike .vesta-o-klinike__text .field__item) {
    color: var(--mc-black);
    line-height: 1.35;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    :is(.wrapper_gradient .vesta-o-klinike .vesta-o-klinike__text, .wrapper_gradient .vesta-o-klinike .vesta-o-klinike__text .field__item, .wrapper_gradient .vesta-o-klinike .group-left .field--name-body, .wrapper_gradient .vesta-o-klinike .group-left .field--name-body .field__item, .wrapper_gradient .block-content--type-o-klinike .group-left .field--name-body, .wrapper_gradient .block-content--type-o-klinike .group-left .field--name-body .field__item, .block-content--type-o-klinike .group-left .field--name-body, .vesta-o-klinike .vesta-o-klinike__text, .vesta-o-klinike .vesta-o-klinike__text .field__item) {
        font-size: 15px;
    }
}

/* /about: типографика */
.wrapper_gradient .wrapper_about.vesta-about-panel-page > .container {
    box-sizing: border-box;
    max-width: calc(1170px + var(--bs-gutter-x, 1.5rem));
    margin-inline: auto;
    width: 100%;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page {
    padding-top: 0;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.block-page-title-block h1, .page-title, h1.title, .field--name-title h1) {
    font-family: var(--mc-font-heading);
    font-size: var(--mc-h2);
    font-weight: 500;
    line-height: var(--mc-heading-lh);
    color: var(--mc-black);
    margin: 0 0 20px;
}

@media screen and (max-width: 574px) {
    .wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.block-page-title-block h1, .page-title, h1.title, .field--name-title h1) {
        font-size: var(--mc-h1);
    }
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.node__content .field--name-body, .node__content .field--name-body .field__item, .node__content .text-formatted, .group-left .field--name-body, .group-left .field--name-body .field__item) {
    color: var(--mc-black);
    font-size: var(--mc-p1);
    line-height: 1.35;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.node__content .field--name-body, .node__content .field--name-body .field__item, .node__content .text-formatted, .group-left .field--name-body, .group-left .field--name-body .field__item) {
        font-size: 15px;
    }
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.node__content .field--name-body, .node__content .text-formatted, .group-left .field--name-body) p {
    margin: 0 0 0.5em;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.node__content .field--name-body, .node__content .text-formatted, .group-left .field--name-body) p:last-child {
    margin-bottom: 0;
}

/* /about: макет/медиа */
.wrapper_gradient .wrapper_about.vesta-about-panel-page .container > .block-page-title-block {
    margin-bottom: clamp(20px, 3vw, 30px);
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page .container > .block-page-title-block h1 {
    margin-bottom: 0;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page .group-left h1,
.wrapper_gradient .wrapper_about.vesta-about-panel-page .field--name-title h1 {
    margin: 0 0 20px;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.ds-2col, .ds-2col-fluid):has(> .group-left):has(> .group-right) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 30px;
    margin: 0;
    padding: 0;
    min-height: 0;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.ds-2col, .ds-2col-fluid) > .group-left {
    float: none;
    width: auto;
    flex: 1 1 0;
    min-width: min(100%, clamp(220px, 38vw, 480px));
    padding-right: 0;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.ds-2col, .ds-2col-fluid) > .group-right {
    float: none;
    flex: 0 1 570px;
    min-width: 0;
    width: auto;
    max-width: min(570px, 100%);
    padding-left: 0;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page .group-left .field--name-title :is(h2, .field__item) {
    margin: 0 0 20px;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.group-right, .group-left) > :is(.field.field--type-image, .field[class*="field--name-field-image"], .field[class*="field--name-field-media"]) {
    margin: 0;
    width: 100%;
    max-width: 570px;
    height: auto;
    aspect-ratio: 570 / 360;
    max-height: none;
    border-radius: 30px;
    overflow: hidden;
    box-sizing: border-box;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.group-right, .group-left) .field--type-image .field__item {
    height: 100%;
    margin: 0;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.group-right, .group-left) .field--type-image :is(picture, img) {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    object-fit: cover;
    object-position: center;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.group-right, .group-left) :is(.media, article.media) {
    margin: 0;
    padding: 0;
    height: 100%;
    max-width: none;
    border-radius: 30px;
    overflow: hidden;
    box-sizing: border-box;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.group-right, .group-left) [class*="blazy"] {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    overflow: hidden;
    box-sizing: border-box;
}

.wrapper_gradient .wrapper_about.vesta-about-panel-page .layout--twocol-section {
    gap: 30px;
    align-items: flex-start;
}

@media screen and (max-width: 991px) {
    .wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.ds-2col, .ds-2col-fluid):has(> .group-left):has(> .group-right) {
        flex-wrap: wrap;
        flex-direction: column;
        align-items: stretch;
        gap: clamp(20px, 4vw, 30px);
    }

    .wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.ds-2col, .ds-2col-fluid) > :is(.group-right, .group-left) {
        width: 100%;
        max-width: 100%;
        flex: 0 0 auto;
    }

    .wrapper_gradient .wrapper_about.vesta-about-panel-page :is(.group-right, .group-left) > :is(.field.field--type-image, .field[class*="field--name-field-image"], .field[class*="field--name-field-media"]) {
        width: 100%;
        height: auto;
        aspect-ratio: 578 / 360;
        max-height: none;
    }
}

/* Преимущества */
.section-benefits h2.block-title,
.section-benefits .view-header h2 {
    margin: 0 0 30px;
    font-family: var(--mc-font-heading);
    font-size: var(--mc-h2);
    font-weight: 500;
    line-height: var(--mc-heading-lh);
    color: var(--mc-black);
}

.section-benefits .region-benefits {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 30px;
    align-items: stretch;
}

.section-benefits .region-benefits > .block:only-child {
    grid-column: 1 / -1;
    margin: 0;
}

.section-benefits .region-benefits > .block:only-child .view-content,
.section-benefits .field__items:has(> .field__item + .field__item) {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 30px;
    margin: 0;
}

.section-benefits .view-content {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 30px;
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)) {
    grid-column: span 3;
    box-sizing: border-box;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    color: var(--mc-white);
    position: relative;
    overflow: hidden;
    margin: 0;
    isolation: isolate;
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(-n + 2) {
    padding: 22px 70px 22px 22px;
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(n + 3) {
    padding: 22px 22px 22px 22px;
    grid-column: span 2;
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child))::after {
    content: "";
    position: absolute;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.67;
    z-index: 0;
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(-n + 2)::after {
    width: 70px;
    height: 44px;
    top: 12px;
    right: 10px;
    background-image: url("../image/benefits-deco-wide.svg");
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(n + 3)::after {
    width: 54px;
    height: 58px;
    right: 8px;
    bottom: 8px;
    top: auto;
    background-image: url("../image/benefits-deco-small.svg");
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):is(:nth-child(1), :nth-child(3), :nth-child(5)) {
    background: var(--mc-fiol-4);
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):is(:nth-child(2), :nth-child(4)) {
    background: var(--mc-green);
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item) > * {
    position: relative;
    z-index: 1;
}

.section-benefits .region-benefits > .block:not(:only-child) .block-content {
    position: relative;
    z-index: 1;
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)) :is(h2, h3, h4, .field--name-title, .field.field--name-field-zagolovok, .field--name-field-zagolovok.field__item, .field--name-field-zagolovok .field__item) {
    margin: 0;
    font-family: var(--mc-font-heading);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.1;
    color: var(--mc-white);
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)) :is(.field, .field__item) {
    color: inherit;
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)) :is(.field.field--name-field-zagolovok, .field--name-field-zagolovok.field__item) {
    color: var(--mc-white);
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)) .field--name-field-zagolovok + :is(.field--name-field-opisanie, .field--name-body, .field--type-text-long) {
    margin-top: 10px;
}

.section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)) :is(.field--name-body, .field--type-text-long, .field--type-string-long, p, .text-formatted) {
    margin: 0;
    font-family: var(--mc-font-body);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.1;
    color: var(--mc-white);
}

@media screen and (min-width: 992px) {
    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(n + 3) {
        padding-right: 16px;
    }

    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(n + 3) :is(h2, h3, h4, .field--name-title, .field.field--name-field-zagolovok, .field--name-field-zagolovok.field__item, .field--name-field-zagolovok .field__item) {
        font-size: 24px;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .section-benefits :is(.region-benefits, .view-content, .region-benefits > .block:only-child .view-content, .field__items:has(> .field__item + .field__item)) {
        gap: clamp(16px, 2.8vw, 26px);
    }

    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(-n + 2) {
        padding: clamp(18px, 2.5vw, 22px) clamp(48px, 8vw, 70px) clamp(18px, 2.5vw, 22px) clamp(16px, 2.5vw, 22px);
    }

    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(n + 3) {
        padding: clamp(18px, 2.5vw, 22px) clamp(48px, 8vw, 70px) clamp(18px, 2.5vw, 22px) clamp(16px, 2.5vw, 22px);
    }

    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(n + 3)::after {
        width: 60px;
        height: 38px;
        top: 12px;
        right: 10px;
        bottom: auto;
        background-image: url("../image/benefits-deco-wide.svg");
    }

    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(-n + 2) :is(h2, h3, h4, .field--name-title, .field.field--name-field-zagolovok, .field--name-field-zagolovok.field__item, .field--name-field-zagolovok .field__item) {
        font-size: clamp(18px, 3.2vw, 24px);
    }

    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(n + 3) :is(h2, h3, h4, .field--name-title, .field.field--name-field-zagolovok, .field--name-field-zagolovok.field__item, .field--name-field-zagolovok .field__item) {
        font-size: clamp(15px, 2vw, 18px);
    }
}

@media screen and (max-width: 991px) {
    .wrapper_gradient {
        margin: 0;
        border-radius: 40px;
        padding: clamp(1.75rem, 4vw, 2.5rem) 0;
    }

    .wrapper_gradient .wrapper_about + .section-benefits {
        margin-top: clamp(2rem, 6vw, 3rem);
    }

    .wrapper_gradient .wrapper_about .block-title,
    .wrapper_gradient .vesta-o-klinike .vesta-o-klinike__title,
    .wrapper_gradient .wrapper_about.vesta-about-panel-page .block-page-title-block h1,
    .wrapper_gradient .wrapper_about.vesta-about-panel-page .page-title,
    .wrapper_gradient .wrapper_about.vesta-about-panel-page .field--name-title h1,
    .section-benefits h2.block-title,
    .section-benefits .view-header h2 {
        font-size: clamp(28px, 7vw, var(--mc-h2));
    }
}

@media screen and (max-width: 767px) {
    .vesta-o-klinike > .row {
        flex-wrap: wrap;
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        gap: clamp(20px, 4vw, 30px);
    }

    .vesta-o-klinike > div:has(> .group-left):has(> .group-right) {
        flex-wrap: wrap;
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        gap: clamp(20px, 4vw, 30px);
    }

    .block-content--type-o-klinike.ds-2col:has(> .group-left):has(> .group-right),
    .vesta-o-klinike.ds-2col:has(> .group-left):has(> .group-right) {
        flex-wrap: wrap;
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        gap: clamp(20px, 4vw, 30px);
    }

    .block-content--type-o-klinike.ds-2col:has(> .group-left):has(> .group-right) > .group-right,
    .vesta-o-klinike.ds-2col:has(> .group-left):has(> .group-right) > .group-right {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    .block-content--type-o-klinike.ds-2col:has(> .group-left):has(> .group-right) > .group-left,
    .vesta-o-klinike.ds-2col:has(> .group-left):has(> .group-right) > .group-left {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    .vesta-o-klinike > .row > .col-lg-6:last-child {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    .vesta-o-klinike > .row > .col-lg-6:first-child {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    .vesta-o-klinike > div:has(> .group-left):has(> .group-right) > .group-right {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    .vesta-o-klinike > div:has(> .group-left):has(> .group-right) > .group-left {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    .vesta-o-klinike__media {
        width: 100%;
        height: auto;
        aspect-ratio: 570 / 360;
        margin-inline: auto;
    }

    .vesta-o-klinike__media img {
        max-height: none;
    }

    .block-content--type-o-klinike .group-right > .field,
    .vesta-o-klinike .group-right > .field {
        width: 100%;
        height: auto;
        aspect-ratio: 570 / 360;
        margin-inline: auto;
    }

    .block-content--type-o-klinike .group-right img,
    .vesta-o-klinike .group-right img {
        max-height: none;
    }

    .wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child .field--type-image,
    .wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child [class*="field--name-field-image"],
    .wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child [class*="field--name-field-media"] {
        width: 100%;
        height: auto;
        aspect-ratio: 570 / 360;
        margin-inline: auto;
    }

    .wrapper_about .vesta-o-klinike > .row > .col-lg-6:last-child img {
        max-height: none;
    }

    .section-benefits :is(.region-benefits, .view-content, .region-benefits > .block:only-child .view-content, .field__items:has(> .field__item + .field__item)) {
        grid-template-columns: 1fr;
    }

    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)),
    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(-n + 2),
    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(n + 3) {
        grid-column: 1 / -1;
        padding: 20px 64px 20px 18px;
    }

    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(-n + 2)::after,
    .section-benefits :is(.views-row, .field__items:has(> .field__item + .field__item) > .field__item, .region-benefits > .block:not(:only-child)):nth-child(n + 3)::after {
        width: 60px;
        height: 38px;
        top: 12px;
        right: 10px;
        bottom: auto;
        background-image: url("../image/benefits-deco-wide.svg");
    }
}

/* Галерея */
.wrapper_gradient_bottom {
    margin: 0;
    padding: clamp(2.5rem, 5vw, 4.5rem) 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.front-gallery .front-gallery__view {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 30px;
}

.front-gallery .front-gallery__view > .block > .views-element-container > .view,
.front-gallery .front-gallery__view > .block > .view {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.front-gallery .front-gallery__view > .block > .views-element-container > .view > .view-header,
.front-gallery .front-gallery__view > .block > .view > .view-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 1rem;
    row-gap: clamp(0.75rem, 2vw, 1.25rem);
    margin: 0;
    padding: 0;
}

.front-gallery .front-gallery__view > .block > .views-element-container > .view > .view-header > *:nth-child(n + 2),
.front-gallery .front-gallery__view > .block > .view > .view-header > *:nth-child(n + 2) {
    justify-self: end;
}

.front-gallery .front-gallery__view > .block > .views-element-container > .view > .view-header h2,
.front-gallery .front-gallery__view > .block > .view > .view-header h2 {
    margin: 0;
}

.front-gallery h2,
.front-gallery .block-title,
.front-gallery .view-header h2 {
    font-family: var(--mc-font-heading);
    font-size: var(--mc-h2);
    font-weight: 500;
    line-height: var(--mc-heading-lh);
    color: var(--mc-black);
}

.front-gallery .front-gallery__view > .block:has(> h2 + :is(.text-right, .text-end)),
.front-gallery .front-gallery__view > .block :is(.field--name-body, .field__item):has(> h2 + :is(.text-right, .text-end)) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 30px;
    row-gap: clamp(0.75rem, 2vw, 1rem);
}

.front-gallery .front-gallery__view > .block:has(> h2 + :is(.text-right, .text-end)) > h2:first-of-type,
.front-gallery .front-gallery__view > .block :is(.field--name-body, .field__item):has(> h2 + :is(.text-right, .text-end)) > h2:first-of-type {
    margin: 0;
}

.front-gallery .front-gallery__view > .block:has(> h2 + :is(.text-right, .text-end)) > *:nth-child(n + 3),
.front-gallery .front-gallery__view > .block :is(.field--name-body, .field__item):has(> h2 + :is(.text-right, .text-end)) > *:nth-child(n + 3) {
    grid-column: 1 / -1;
}

/* Галерея: ряд */
.front-gallery .view-content {
    display: block;
    margin: 0;
    padding: 0;
    overflow: visible;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.front-gallery .field__items {
    display: block;
    margin: 0;
    padding: 0;
}

.front-gallery .item-list:not(.slick-slider) {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

.wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    justify-items: stretch;
    gap: clamp(8px, 1.4vw, 16px);
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    box-sizing: border-box;
}

.wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li {
    box-sizing: border-box;
    width: 100%;
    max-width: 270px;
    justify-self: center;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: relative;
}

.wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li .photoswipe-gallery {
    display: block;
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
    min-height: 0;
}

.wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li .photoswipe-gallery > a {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    aspect-ratio: 1 / 1;
    border-radius: 30px;
    overflow: hidden;
    line-height: 0;
    cursor: pointer;
    position: relative;
}

.wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li :is(.field--type-image, .field--name-field-image) {
    position: static;
    inset: auto;
    margin: 0;
    width: 100%;
    max-width: none;
}

.wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li :is(img, .field--type-image img, .field--name-field-image img) {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    border-radius: 30px;
    object-fit: cover;
    aspect-ratio: unset;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.35s ease;
}

.wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li .photoswipe-gallery > a picture {
    display: block;
    width: 100%;
    height: 100%;
}

.wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li:is(:hover, :focus-within) img {
    transform: scale(1.08);
}

/* Альбомы: сетка */
.wrapper_gallery.front-gallery .view .view-content:has(> .views-row):not(:has(> .views-row .item-list > ul)) {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    justify-items: stretch;
    gap: clamp(8px, 1.4vw, 16px);
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
}

.wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    max-width: 270px;
    justify-self: center;
    min-width: 0;
    margin: 0;
    padding: 0;
    min-height: 0;
    position: relative;
}

.wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) .photoswipe-gallery {
    display: block;
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
    min-height: 0;
}

.wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) :is(.photoswipe-gallery > a, .group-up > a.b-link, .group_up > a.b-link) {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    aspect-ratio: 1 / 1;
    border-radius: 30px;
    overflow: hidden;
    line-height: 0;
    cursor: pointer;
    position: relative;
}

.wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) :is(.field--type-image, .field--name-field-image) {
    position: static;
    inset: auto;
    margin: 0;
    width: 100%;
    max-width: none;
}

.wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) :is(img, .field--type-image img, .field--name-field-image img) {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    border-radius: 30px;
    object-fit: cover;
    aspect-ratio: unset;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.35s ease;
}

.wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)):is(:hover, :focus-within) img {
    transform: scale(1.08);
}

.wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) :is(.photoswipe-gallery > a, .group-up > a.b-link, .group_up > a.b-link) picture {
    display: block;
    width: 100%;
    height: 100%;
}

@media screen and (min-width: 992px) {
    .wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)),
    .wrapper_gallery.front-gallery .view .view-content:has(> .views-row):not(:has(> .views-row .item-list > ul)) {
        gap: 30px;
    }
}

/* Галерея: адаптив */
@media screen and (min-width: 575px) and (max-width: 991px) {
    .wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)),
    .wrapper_gallery.front-gallery .view .view-content:has(> .views-row):not(:has(> .views-row .item-list > ul)) {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(12px, 2.5vw, 24px);
    }

    .wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li:nth-child(4),
    .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)):nth-child(4) {
        display: none;
    }

    .wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li,
    .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) {
        width: 100%;
        max-width: 270px;
        justify-self: center;
    }
}

@media screen and (max-width: 574px) {
    .wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)),
    .wrapper_gallery.front-gallery .view .view-content:has(> .views-row):not(:has(> .views-row .item-list > ul)) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(12px, 2.5vw, 24px);
    }

    .wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li,
    .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) {
        width: 100%;
        max-width: 270px;
        justify-self: center;
    }
}

/* /photogallery: превью */
body.vesta-main-layout-gallery:not(.vesta-gallery-album) .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) img,
body.vesta-main-layout-gallery:not(.vesta-gallery-album) .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) .field--type-image img,
body.vesta-main-layout-gallery:not(.vesta-gallery-album) .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) .field--name-field-image img {
    position: static;
    left: auto;
    top: auto;
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 30px;
}

/* Gallery: без zoom */
body.vesta-main-layout-gallery .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) :is(img, .field--type-image img, .field--name-field-image img) {
    transition: none;
}

body.vesta-main-layout-gallery .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)):is(:hover, :focus-within) img {
    transform: none;
}

body.vesta-main-layout-gallery .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) :is(.photoswipe-gallery, .group-up, .group_up, .field--name-field-image:not(:has(.photoswipe-gallery, .group-up, .group_up))) {
    margin-bottom: 20px;
}

body.vesta-main-layout-gallery .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) > :is(.contextual-region, article, .node) {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
}

body.vesta-main-layout-gallery .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) :is(.field--name-node-link, .field--name-node-readmore, .group-down, .group_down) {
    margin-top: auto;
    width: 100%;
    box-sizing: border-box;
}

body.vesta-main-layout-gallery .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) :is(.field--name-node-link, .field--name-node-readmore) {
    max-width: 100%;
}

body.vesta-main-layout-gallery .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) :is(.group-down, .group_down) :is(.field--name-node-link, .field--name-node-readmore) {
    margin-top: 0;
}

body.vesta-main-layout-gallery .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) :is(.field--name-node-link a, .field--name-node-readmore a, a.read-more) {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
}

body.vesta-main-layout-gallery .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) .field--name-node-title {
    margin-top: 20px;
    font-family: var(--mc-font-heading);
    font-size: 22px;
    font-weight: 500;
    line-height: var(--mc-heading-lh);
}

body.vesta-main-layout-gallery .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) .field--name-node-title :is(h2, h3, a, .field__item) {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    margin-block: 0;
}

/* Альбом: сетка */
body.vesta-gallery-album .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) {
    display: block;
}

body.vesta-gallery-album .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) > :is(.contextual-region, article, .node) {
    display: block;
    flex: none;
    width: 100%;
}

body.vesta-gallery-album .wrapper_gallery.front-gallery :is(.node--type-photogallery .field--name-field-galereya.field__items, .node--type-photogallery .field--name-field-galereya > .field__items, .node--type-photogallery .photoswipe-gallery.field--name-field-galereya, .field--name-field-gallery.field__items, .field--name-field-gallery > .field__items, .photoswipe-gallery.field--name-field-gallery) {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    justify-items: stretch;
    gap: clamp(12px, 2.5vw, 30px);
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

@media screen and (min-width: 575px) and (max-width: 991px) {
    body.vesta-gallery-album .wrapper_gallery.front-gallery :is(.node--type-photogallery .field--name-field-galereya.field__items, .node--type-photogallery .field--name-field-galereya > .field__items, .node--type-photogallery .photoswipe-gallery.field--name-field-galereya, .field--name-field-gallery.field__items, .field--name-field-gallery > .field__items, .photoswipe-gallery.field--name-field-gallery) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (max-width: 574px) {
    body.vesta-gallery-album .wrapper_gallery.front-gallery :is(.node--type-photogallery .field--name-field-galereya.field__items, .node--type-photogallery .field--name-field-galereya > .field__items, .node--type-photogallery .photoswipe-gallery.field--name-field-galereya, .field--name-field-gallery.field__items, .field--name-field-gallery > .field__items, .photoswipe-gallery.field--name-field-gallery) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

body.vesta-gallery-album .wrapper_gallery.front-gallery :is(.node--type-photogallery .field--name-field-galereya.field__items, .node--type-photogallery .field--name-field-galereya > .field__items, .node--type-photogallery .photoswipe-gallery.field--name-field-galereya, .field--name-field-gallery.field__items, .field--name-field-gallery > .field__items, .photoswipe-gallery.field--name-field-gallery) > .field__item {
    width: 100%;
    max-width: 270px;
    min-width: 0;
    justify-self: center;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body.vesta-gallery-album .wrapper_gallery.front-gallery :is(.node--type-photogallery .field--name-field-galereya.field__items > .field__item > a.photoswipe, .node--type-photogallery .photoswipe-gallery.field--name-field-galereya > .field__item > a.photoswipe, .node--type-photogallery .field--name-field-galereya > .field__items > .field__item .photoswipe-gallery > a, .field--name-field-gallery.field__items > .field__item > a.photoswipe, .photoswipe-gallery.field--name-field-gallery > .field__item > a.photoswipe, .field--name-field-gallery > .field__items > .field__item .photoswipe-gallery > a) {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 270px;
    max-height: 270px;
    aspect-ratio: 1 / 1;
    border-radius: 30px;
    overflow: hidden;
    line-height: 0;
    cursor: pointer;
}

body.vesta-gallery-album .wrapper_gallery.front-gallery .node--type-photogallery :is(.field--name-field-galereya.field__items, .field--name-field-galereya > .field__items) > .field__item .photoswipe-gallery {
    display: block;
    width: 100%;
    max-width: 270px;
}

body.vesta-gallery-album .wrapper_gallery.front-gallery :is(.node--type-photogallery .field--name-field-galereya.field__items, .node--type-photogallery .field--name-field-galereya > .field__items, .node--type-photogallery .photoswipe-gallery.field--name-field-galereya, .field--name-field-gallery.field__items, .field--name-field-gallery > .field__items, .photoswipe-gallery.field--name-field-gallery) > .field__item :is(img, a.photoswipe img, .field--type-image img, .field--name-field-image img) {
    display: block;
    width: 100%;
    max-width: 270px;
    max-height: 270px;
    height: auto;
    margin: 0;
    border-radius: 30px;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}

body.vesta-main-layout-gallery :is(.pswp__button--zoom, .pswp__button--zoom-in, .pswp__button--zoom-out) {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    .wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li :is(img, .field--type-image img, .field--name-field-image img),
    .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) :is(img, .field--type-image img, .field--name-field-image img),
    .front-gallery .view-content.slick-initialized .slick-slide img {
        transition: none;
    }

    .wrapper_gallery.front-gallery :is(.item-list > ul, .view-content > ul:not(.contextual-links, .tabs, .primary, .secondary), .node__content > ul:not(.contextual-links, .tabs, .primary, .secondary)) > li:is(:hover, :focus-within) img,
    .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)):is(:hover, :focus-within) img,
    .front-gallery .view-content.slick-initialized .slick-slide:is(:hover, :focus-within) img {
        transform: scale(1);
    }
}

.front-gallery .view-content.slick-initialized .slick-list {
    overflow: hidden;
}

.front-gallery .view-content.slick-initialized .slick-track {
    display: flex !important;
    flex-direction: row;
    align-items: stretch;
    gap: 30px;
}

.front-gallery .view-content.slick-initialized .slick-slide {
    width: 270px;
    box-sizing: border-box;
}

.front-gallery .view-content.slick-initialized .slick-slide > div {
    overflow: hidden;
    border-radius: 30px;
    line-height: 0;
}

.front-gallery .view-content.slick-initialized .slick-slide img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 30px;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.35s ease;
}

.front-gallery .view-content.slick-initialized .slick-slide:hover img,
.front-gallery .view-content.slick-initialized .slick-slide:focus-within img {
    transform: scale(1.08);
}

@media screen and (max-width: 991px) {
    .wrapper_gallery.front-gallery .item-list > ul > li,
    .wrapper_gallery.front-gallery .view-content .item-list > ul > li,
    .wrapper_gallery.front-gallery .node__content .item-list > ul > li,
    .wrapper_gallery.front-gallery .view-content > ul:not(.contextual-links):not(.tabs):not(.primary):not(.secondary) > li,
    .wrapper_gallery.front-gallery .node__content > ul:not(.contextual-links):not(.tabs):not(.primary):not(.secondary) > li {
        width: 100%;
        max-width: 270px;
        justify-self: center;
    }

    .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) {
        width: 100%;
        max-width: 270px;
        justify-self: center;
    }
}

@media screen and (max-width: 576px) {
    .wrapper_gallery.front-gallery .item-list > ul > li,
    .wrapper_gallery.front-gallery .view-content .item-list > ul > li,
    .wrapper_gallery.front-gallery .node__content .item-list > ul > li,
    .wrapper_gallery.front-gallery .view-content > ul:not(.contextual-links):not(.tabs):not(.primary):not(.secondary) > li,
    .wrapper_gallery.front-gallery .node__content > ul:not(.contextual-links):not(.tabs):not(.primary):not(.secondary) > li {
        width: 100%;
        max-width: 270px;
        justify-self: center;
    }

    .wrapper_gallery.front-gallery .view .view-content > .views-row:not(:has(.item-list > ul)) {
        width: 100%;
        max-width: 270px;
        justify-self: center;
    }

    .front-gallery .view-content.slick-initialized .slick-slide {
        width: min(270px, 85vw);
    }

    .front-gallery .front-gallery__view > .block > .views-element-container > .view > .view-header,
    .front-gallery .front-gallery__view > .block > .view > .view-header {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .front-gallery .front-gallery__view > .block > .views-element-container > .view > .view-header > *:nth-child(n + 2),
    .front-gallery .front-gallery__view > .block > .view > .view-header > *:nth-child(n + 2) {
        justify-self: end;
    }
}

/* Услуги: заголовок */
.section-services:not(.section-specialists) .section-services__inner > .block:has(> h2 + :is(.text-right, .text-end)),
.section-services:not(.section-specialists) .section-services__inner > .block :is(.field--name-body, .field__item):has(> h2 + :is(.text-right, .text-end)) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 1rem;
    row-gap: clamp(0.75rem, 2vw, 1.25rem);
}

.section-services:not(.section-specialists) .section-services__inner > .block:has(> h2 + :is(.text-right, .text-end)) > h2:first-of-type,
.section-services:not(.section-specialists) .section-services__inner > .block :is(.field--name-body, .field__item):has(> h2 + :is(.text-right, .text-end)) > h2:first-of-type {
    margin-bottom: 0;
}

.section-services:not(.section-specialists) .section-services__inner > .block:has(> h2 + :is(.text-right, .text-end)) > *:nth-child(n+3),
.section-services:not(.section-specialists) .section-services__inner > .block :is(.field--name-body, .field__item):has(> h2 + :is(.text-right, .text-end)) > *:nth-child(n+3) {
    grid-column: 1 / -1;
}

@media screen and (max-width: 574px) {
    .section-services:not(.section-specialists) .section-services__inner > .block:has(> h2 + :is(.text-right, .text-end)),
    .section-services:not(.section-specialists) .section-services__inner > .block :is(.field--name-body, .field__item):has(> h2 + :is(.text-right, .text-end)) {
        grid-template-columns: 1fr;
    }

    .section-services:not(.section-specialists) .section-services__inner > .block:has(> h2 + :is(.text-right, .text-end)) > :is(.text-right, .text-end),
    .section-services:not(.section-specialists) .section-services__inner > .block :is(.field--name-body, .field__item):has(> h2 + :is(.text-right, .text-end)) > :is(.text-right, .text-end) {
        justify-self: end;
    }
}

/* Специалисты: header */
.section-specialists {
    margin: 0;
    padding: clamp(2.5rem, 5vw, 4.5rem) 0;
    background: transparent;
    overflow: visible;
}

.section-specialists .view > .view-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 1rem;
    row-gap: clamp(0.75rem, 2vw, 1.25rem);
    margin: 0 0 30px;
    padding: 0;
}

.section-specialists .view > .view-header > h2 {
    margin: 0;
    font-family: var(--mc-font-heading);
    font-size: var(--mc-h2);
    font-weight: 500;
    line-height: var(--mc-heading-lh);
    color: var(--mc-black);
}

.section-specialists .view > .view-header > *:nth-child(n + 2) {
    justify-self: end;
}

/* Специалисты: ряд */
:is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    align-items: stretch !important;
}

:is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content .views-row {
    box-sizing: border-box !important;
    width: 270px !important;
    max-width: 270px !important;
    flex: 0 0 270px !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
}

:is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content > .views-element-container {
    box-sizing: border-box !important;
    flex: 0 0 270px !important;
    width: 270px !important;
    max-width: 270px !important;
    margin: 0 !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    align-self: stretch !important;
}

:is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content > .views-element-container .views-row {
    width: 100% !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
}

:is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content > .views-element-container .views-row > article.node,
:is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content > .views-row > article.node {
    flex: 1 1 auto !important;
    min-height: 100% !important;
    height: 100% !important;
}

:is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content > .views-row {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
}

/* Специалисты: адаптив */
@media screen and (min-width: 992px) {
    :is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 30px !important;
        flex-direction: unset !important;
        flex-wrap: unset !important;
        align-items: stretch !important;
    }

    :is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content > :is(.views-row, .views-element-container),
    :is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    :is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: clamp(12px, 2.5vw, 24px) !important;
        flex-direction: unset !important;
        flex-wrap: unset !important;
        align-items: stretch !important;
    }

    :is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content > :is(.views-row, .views-element-container),
    :is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
    }

    :is(.section-specialists, .region-specialists) .view-content > :is(.views-row, .views-element-container):nth-child(4) {
        display: none !important;
    }

    body.vesta-main-layout-specialists:not(.vesta-page-specialisty-profile) :is(.section-specialists, .region-specialists) .view-content > :is(.views-row, .views-element-container):nth-child(4) {
        display: block !important;
    }
}

@media screen and (max-width: 767px) {
    :is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(12px, 2.5vw, 24px) !important;
        flex-direction: unset !important;
        flex-wrap: unset !important;
        align-items: stretch !important;
    }

    :is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content > :is(.views-row, .views-element-container),
    :is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser {
        min-height: 0 !important;
        height: 100% !important;
        padding: 0 0 18px !important;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--name-body {
        flex: 1 1 auto;
        min-height: 0;
        padding-bottom: 6px;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--name-node-link {
        margin-top: auto;
        padding: 6px 16px 0;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser :is(.field--name-node-title, .field--name-node-title .field__item, .field--name-body) {
        max-width: 100%;
        min-width: 0;
        overflow-wrap: break-word;
        word-break: break-word;
    }
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser {
    box-sizing: border-box !important;
    width: 270px !important;
    min-height: 0;
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column !important;
    background: var(--mc-white-2) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    padding: 0 0 18px !important;
    box-shadow: 0 1px 3px rgba(40, 16, 58, 0.06);
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--type-image {
    margin: 0;
    padding: 0;
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--mc-spec-photo-grad-top) var(--mc-spec-photo-grad-fill-pct), transparent) 0%,
        color-mix(in srgb, var(--mc-spec-photo-grad-bottom) var(--mc-spec-photo-grad-fill-pct), transparent) 100%
    );
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--type-image .field__item {
    margin: 0;
    padding: 0;
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--type-image :is(img, picture) {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    vertical-align: top;
}

@media screen and (min-width: 768px) {
    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser {
        min-height: 370px !important;
        height: 100%;
        padding: 0 0 18px !important;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--name-body {
        flex: 1 1 auto;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--name-node-link {
        margin-top: auto;
    }
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty) .field--name-node-title {
    padding: 14px 16px 10px;
    font-family: var(--mc-font-heading);
    font-size: var(--mc-h5);
    font-weight: 500;
    line-height: var(--mc-heading-lh);
    color: #000;
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty) .field--name-node-title :is(a, .field__item) {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty) .field--name-body {
    padding: 0 16px 12px;
    font-family: var(--mc-font-body);
    font-size: var(--mc-p2);
    line-height: 1.35;
    color: #000;
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty) .field--name-body p {
    margin: 0 0 4px;
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty) .field--name-node-link {
    padding: 8px 16px 0;
}

@media screen and (max-width: 359px) {
    :is(.section-specialists, .region-specialists, .view-id-speciality, .view-id-specialists, .view-id-nashi-specialisty, .view-id-nashi_specialisty) .view-content {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--name-body {
        flex: 1 1 auto;
        min-height: 0;
        padding-bottom: 6px;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--name-node-link {
        margin-top: auto;
        padding: 6px 12px 0;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser {
        height: 100%;
        padding: 0 0 18px !important;
    }
}

@media screen and (max-width: 574px) {
    #main :is(.section-specialists, .region-specialists) .view > .view-header :is(a, a.mc-btn-outline) {
        box-sizing: border-box !important;
        padding: 9px 22px !important;
        min-width: 0 !important;
        width: max-content !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        min-height: 36px !important;
        height: auto !important;
        gap: 4px !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
        border-radius: 22px !important;
    }

    #main :is(.section-specialists, .region-specialists) :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--name-node-title {
        padding: 12px 14px 6px !important;
    }

    #main :is(.section-specialists, .region-specialists) :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--name-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        padding: 0 14px 6px !important;
    }

    #main :is(.section-specialists, .region-specialists) :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--name-node-link {
        margin-top: auto !important;
        padding: 6px 14px 0 !important;
    }

    #main :is(.section-specialists, .region-specialists) :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .vesta-specialist-actions {
        gap: 6px !important;
    }

    #main :is(.section-specialists, .region-specialists) :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser {
        height: 100%;
        padding: 0 0 18px !important;
    }
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty) .vesta-specialist-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    position: relative;
}

@media screen and (min-width: 360px) and (max-width: 574px) {
    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .vesta-specialist-actions {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 6px;
        width: 100%;
        min-width: 0;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .vesta-specialist-actions > :is(a:not(.specialist-cta), .field__item) {
        flex: none;
        width: 100%;
        min-width: 0;
        text-align: center;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .vesta-specialist-actions > a:not(.specialist-cta) {
        display: inline-block;
        overflow-wrap: break-word;
        word-break: break-word;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .vesta-specialist-actions > .field__item a {
        display: inline-block;
        max-width: 100%;
        overflow-wrap: break-word;
        word-break: break-word;
        text-align: center;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .vesta-specialist-actions a.specialist-cta {
        width: auto;
        max-width: 100%;
        min-width: 0;
        height: 38px;
        padding: 0 16px;
        font-size: 13px;
        flex-shrink: 0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1399px) {
    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--name-node-link {
        min-width: 0;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .vesta-specialist-actions {
        flex-wrap: wrap;
        min-width: 0;
        gap: 8px;
        justify-content: center;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .vesta-specialist-actions a.specialist-cta {
        width: auto;
        min-width: 96px;
        max-width: 100%;
        height: 38px;
        padding: 0 12px;
        font-size: 12px;
    }

    :is(.node--type-nashi-speciality, .node--type-nashi-specialisty).node--view-mode-teaser .field--name-node-link a:not(.specialist-cta) {
        font-size: 12px;
    }
}

/* Throbber */
:is(.node--type-nashi-speciality, .node--type-nashi-specialisty) .vesta-specialist-actions > .ajax-progress {
    position: absolute;
    top: 100%;
    left: 0;
    right: auto;
    margin: 4px 0 0;
    width: auto;
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty) .field--name-node-link .field__item {
    margin: 0;
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty) .field--name-node-link a:not(.specialist-cta) {
    font-size: 14px;
    font-weight: 500;
    color: var(--mc-fiol);
    text-decoration: underline;
}

:is(.node--type-nashi-speciality, .node--type-nashi-specialisty) .field--name-node-link a:not(.specialist-cta):hover {
    color: var(--mc-fiol-dark);
}

/* Профиль специалиста */
body.vesta-page-specialisty-profile #main .row {
    --bs-gutter-x: clamp(8px, 1.8vw, 16px);
}

body.vesta-page-specialisty-profile #main :is(.ds-2col, .ds-2col-fluid):has(> .group-left):has(> .group-right) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: clamp(14px, 2.2vw, 28px);
}

body.vesta-page-specialisty-profile #main :is(.ds-2col, .ds-2col-fluid) > .group-left {
    float: none;
    width: auto;
    max-width: min(50%, 420px);
    flex: 0 0 auto;
    padding-right: 0;
    box-sizing: border-box;
    text-align: left;
    margin-top: clamp(14px, 2.2vw, 26px);
}

body.vesta-page-specialisty-profile #main :is(.ds-2col, .ds-2col-fluid) > .group-right {
    float: none;
    width: auto;
    flex: 1 1 0;
    min-width: 0;
    margin-left: 0;
    padding-left: 0;
    box-sizing: border-box;
    text-align: left;
}

body.vesta-page-specialisty-profile #main :is(.ds-2col-stacked, .ds-2col-stacked-fluid) > .group-right {
    margin-left: 0;
    padding-left: clamp(12px, 2vw, 24px);
    box-sizing: border-box;
    text-align: left;
}

body.vesta-page-specialisty-profile #main :is(.ds-2col-stacked, .ds-2col-stacked-fluid) > .group-left {
    padding-right: 0;
    box-sizing: border-box;
    text-align: left;
}

body.vesta-page-specialisty-profile #main .group-left :is(.field--type-image, .field--name-field-image) {
    text-align: left;
}

body.vesta-page-specialisty-profile #main .group-left :is(.field--type-image, .field--name-field-image) img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-left: 0;
    margin-right: auto;
}

body.vesta-page-specialisty-profile #main .group-left :is(.field--type-image, .field--name-field-image) picture {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin-left: 0;
    margin-right: auto;
}

body.vesta-page-specialisty-profile #main .layout--twocol-section {
    gap: clamp(8px, 1.8vw, 18px);
}

body.vesta-page-specialisty-profile #main .layout--twocol-section .layout__region {
    text-align: left;
}

@media screen and (max-width: 767px) {
    body.vesta-page-specialisty-profile #main :is(.ds-2col, .ds-2col-fluid):has(> .group-left):has(> .group-right) {
        flex-direction: column;
        flex-wrap: wrap;
        align-items: stretch;
        gap: clamp(12px, 3vw, 20px);
    }

    body.vesta-page-specialisty-profile #main :is(.ds-2col, .ds-2col-fluid) > .group-left {
        max-width: 100%;
        flex: 0 0 auto;
        width: 100%;
        margin-top: 0;
    }

    body.vesta-page-specialisty-profile #main :is(.ds-2col, .ds-2col-fluid) > .group-right {
        flex: 1 1 auto;
        width: 100%;
        padding-left: 0;
    }

    body.vesta-page-specialisty-profile #main :is(.ds-2col-stacked, .ds-2col-stacked-fluid) > .group-right {
        padding-left: 0;
    }
}

a.specialist-cta {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 135px;
    min-width: 135px;
    height: 43px;
    padding: 0;
    border-radius: 30px;
    background: var(--mc-fiol);
    color: var(--mc-white);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    border: 1.5px solid var(--mc-fiol);
    transition: background-color .2s ease, color .2s ease;
}

a.specialist-cta:hover,
a.specialist-cta:focus {
    background: var(--mc-white);
    color: var(--mc-fiol);
    text-decoration: none;
}

/* Форма главной */
.front-feedback.front-feedback--has-bg {
    box-sizing: border-box;
    overflow: hidden;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    min-height: clamp(280px, 50vw, 580px);
    padding: clamp(2rem, 6vw, 4.5rem) max(1rem, 4vw);
}

.front-feedback__container {
    max-width: 1170px;
    margin-inline: auto;
}

.front-feedback__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.front-feedback .front-feedback__region.region-feedback {
    box-sizing: border-box;
    width: 100%;
    max-width: 646px;
    padding: clamp(1.75rem, 4vw, 51px) clamp(1rem, 3vw, 38px);
    background: var(--mc-fiol-5);
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}


.front-feedback .region-feedback > .block {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    width: 100%;
    max-width: 570px;
    margin: 0;
}

.front-feedback .region-feedback > .block > h2,
.front-feedback .region-feedback > .block :is(h2.block-title, .block__title, h2.block__title) {
    box-sizing: border-box;
    flex: none;
    align-self: stretch;
    width: 100%;
    max-width: 570px;
    min-height: 62px;
    margin: 0;
    padding: 0;
    font-family: var(--mc-font-heading);
    font-style: normal;
    font-weight: 500;
    font-size: var(--mc-h3);
    line-height: 1.1;
    letter-spacing: 0.02em;
    color: var(--mc-white);
}

.front-feedback .region-feedback > .block .block-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.front-feedback .region-feedback :is(.field.field--name-body.field__item, .field.field--type-text-with-summary.field__item, .field--name-body > .field__item, .field--type-text-with-summary > .field__item) {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.front-feedback .region-feedback > .block .block-content > p {
    box-sizing: border-box;
    flex: none;
    align-self: stretch;
    width: 100%;
    max-width: 570px;
    min-height: 57px;
    margin: 0;
    font-family: var(--mc-font-body);
    font-style: normal;
    font-weight: 500;
    font-size: var(--mc-p2);
    line-height: 1.2;
    color: var(--mc-white);
}

/* Body: заголовок/лид */
.front-feedback .region-feedback > .block:first-of-type :is(.field--name-body.field__item, .field--name-body .field__item, .field--type-text-with-summary.field__item, .field--type-text-with-summary .field__item) > p:first-of-type {
    box-sizing: border-box;
    flex: none;
    align-self: stretch;
    width: 100%;
    max-width: 570px;
    min-height: 62px;
    margin: 0;
    padding: 0;
    font-family: var(--mc-font-heading);
    font-style: normal;
    font-weight: 500;
    font-size: var(--mc-h3);
    line-height: 1.1;
    letter-spacing: 0.02em;
    color: var(--mc-white);
}

.front-feedback .region-feedback > .block:first-of-type :is(.field--name-body.field__item, .field--name-body .field__item, .field--type-text-with-summary.field__item, .field--type-text-with-summary .field__item) > p ~ p,
.front-feedback .region-feedback > .block:not(:first-of-type) :is(.field--name-body.field__item, .field--name-body .field__item, .field--type-text-with-summary.field__item, .field--type-text-with-summary .field__item) > p {
    box-sizing: border-box;
    flex: none;
    align-self: stretch;
    width: 100%;
    max-width: 570px;
    min-height: 57px;
    margin: 0;
    padding: 0;
    font-family: var(--mc-font-body);
    font-style: normal;
    font-weight: 500;
    font-size: var(--mc-p2);
    line-height: 1.2;
    color: var(--mc-white);
}

.front-feedback .region-feedback :is(.field--name-body.field__item, .field--name-body .field__item, .field--type-text-with-summary.field__item, .field--type-text-with-summary .field__item) > p span {
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
}

.front-feedback .webform-submission-form .webform-element-description,
.front-feedback .webform-submission-form > .webform-element-description,
.front-feedback .webform-help,
.front-feedback .block-content > .webform-description {
    margin: 0;
    font-family: var(--mc-font-body);
    font-size: var(--mc-p2);
    font-weight: 500;
    line-height: 1.2;
    color: var(--mc-white);
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox, .js-form-type-checkbox, .webform-element--wrapper-type-checkbox) .webform-element-description {
    font-size: 14px;
    line-height: var(--mc-p3-lh);
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox, .js-form-type-checkbox, .webform-element--wrapper-type-checkbox) .webform-element-description * {
    font-size: inherit;
    line-height: inherit;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox, .js-form-type-checkbox, .webform-element--wrapper-type-checkbox) .webform-element-description a {
    font-size: 14px;
    color: var(--mc-white);
    text-decoration: underline;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox, .js-form-type-checkbox, .webform-element--wrapper-type-checkbox) .webform-element-description a:is(:hover, :focus-visible) {
    color: rgba(255, 255, 255, 0.92);
}

.front-feedback form.webform-submission-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
    row-gap: 10px;
    width: 100%;
    max-width: 540px;
    margin: 0;
}

.front-feedback form.webform-submission-form > .webform-element--wrapper-type-textarea,
.front-feedback form.webform-submission-form > .webform-element--wrapper-type-checkbox {
    margin-block: 0;
}

.front-feedback form.webform-submission-form > .webform-element--wrapper-type-textarea :is(.form-item, .js-form-item) {
    margin-block-end: 0;
}

.front-feedback form.webform-submission-form > :is(.form-type-textarea.form-item, .js-form-type-textarea.form-item, .form-type-checkbox.form-item, .js-form-type-checkbox.form-item) {
    margin-block: 0;
}

.front-feedback form.webform-submission-form > :is(.form-item, .js-form-item) {
    margin: 0;
}

.front-feedback form.webform-submission-form > :is(.form-type-textarea, .js-form-type-textarea, .form-type-email, .js-form-type-email, .form-type-webform-markup, .form-type-checkbox, .form-actions, .webform-element--title-inline, .webform-element--wrapper-type-checkbox, .webform-element--wrapper-type-textarea, .captcha, .honeypot-textfield, .url-textfield) {
    grid-column: 1 / -1;
}

.front-feedback form.webform-submission-form .form-item:not(.form-type-checkbox, .js-form-type-checkbox) :is(label.form-item__label, label) {
    display: block;
    margin: 0 0 6px;
    font-family: var(--mc-font-body);
    font-size: var(--mc-p2);
    font-weight: 500;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.85);
}

.front-feedback form.webform-submission-form :is(.form-text, .form-email, .form-tel, .form-number, input[type="text"], input[type="email"], input[type="tel"], input[type="number"]) {
    box-sizing: border-box;
    width: 100%;
    min-height: 47px;
    padding: 14px 22px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.2);
    font-family: var(--mc-font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--mc-white);
    box-shadow: none;
}

.front-feedback form.webform-submission-form textarea {
    box-sizing: border-box;
    width: 100%;
    height: 64px;
    min-height: 64px;
    padding: 14px 22px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.2);
    font-family: var(--mc-font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--mc-white);
    box-shadow: none;
    resize: vertical;
}

.front-feedback form.webform-submission-form :is(.form-text, .form-email, .form-tel, input, textarea)::placeholder {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.8);
    opacity: 1;
}

@media screen and (max-width: 574px) {
    .front-feedback form.webform-submission-form :is(.form-type-checkbox, .js-form-type-checkbox, .webform-element--wrapper-type-checkbox) .webform-element-description,
    .front-feedback form.webform-submission-form :is(.form-type-checkbox, .js-form-type-checkbox, .webform-element--wrapper-type-checkbox) .webform-element-description a,
    .front-feedback form.webform-submission-form :is(.form-text, .form-email, .form-tel, .form-number, input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea),
    .front-feedback form.webform-submission-form :is(.form-text, .form-email, .form-tel, input, textarea)::placeholder {
        font-size: 12px;
    }
}

.front-feedback form.webform-submission-form :is(.form-text, .form-email, .form-tel, input[type="text"], input[type="email"], input[type="tel"], textarea):focus {
    border-color: rgba(255, 255, 255, 0.95);
    outline: 0;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.28);
}

.front-feedback form.webform-submission-form .form-item--error :is(.form-text, .form-email, .form-tel, textarea, input) {
    border-color: #e57373;
    box-shadow: 0 0 0 1px rgba(229, 115, 115, 0.6);
}

.front-feedback form.webform-submission-form :is(.form-item--error-message, .error, strong.error.form-item--error-message) {
    color: #c62828;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.25;
}

.front-feedback form.webform-submission-form .form-item--error-message strong {
    color: inherit;
    font-weight: inherit;
}

.front-feedback form.webform-submission-form :is(.webform-element--wrapper-type-checkbox .form-item.form-type-checkbox, .webform-element--wrapper-type-checkbox .form-item.js-form-type-checkbox, .form-type-checkbox.form-item, .js-form-type-checkbox.form-item) {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    row-gap: 0;
    align-items: center;
    margin: 0;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox.form-item, .js-form-type-checkbox.form-item) > input[type="checkbox"] {
    grid-column: 1;
    grid-row: 1;
    margin-top: 0;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox.form-item, .js-form-type-checkbox.form-item) > .form-checkbox {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    align-self: center;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox.form-item, .js-form-type-checkbox.form-item) > label {
    grid-column: 2;
    grid-row: 1;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox, .js-form-type-checkbox) :is(.form-item--error-message, strong.error.form-item--error-message) {
    grid-column: 1 / -1;
    width: 100%;
    margin: 4px 0 0;
    padding-left: calc(22px + 12px);
    box-sizing: border-box;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox input[type="checkbox"], .form-type-checkbox .form-checkbox input[type="checkbox"], .js-form-type-checkbox input[type="checkbox"], .js-form-type-checkbox .form-checkbox input[type="checkbox"], .form-check-input) {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    flex: none;
    flex-grow: 0;
    order: 0;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    vertical-align: top;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox input[type="checkbox"]:checked, .form-type-checkbox .form-checkbox input[type="checkbox"]:checked, .js-form-type-checkbox input[type="checkbox"]:checked, .js-form-type-checkbox .form-checkbox input[type="checkbox"]:checked, .form-check-input:checked) {
    border-color: rgba(255, 255, 255, 0.85);
    background: var(--mc-fiol) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 5l3 3 7-7'/%3E%3C/svg%3E") no-repeat center / 10px 8px;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox input[type="checkbox"]:focus-visible, .form-type-checkbox .form-checkbox input[type="checkbox"]:focus-visible, .js-form-type-checkbox input[type="checkbox"]:focus-visible, .js-form-type-checkbox .form-checkbox input[type="checkbox"]:focus-visible, .form-check-input:focus-visible) {
    outline: 2px solid rgba(255, 255, 255, 0.45);
    outline-offset: 2px;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox, .js-form-type-checkbox) :is(label, label.option, label.form-item__label, .form-check-label) {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-family: var(--mc-font-body);
    font-size: 14px;
    font-weight: 500;
    line-height: var(--mc-p3-lh);
    color: var(--mc-white);
    cursor: pointer;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox label, .js-form-type-checkbox label, .form-check-label) * {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox, .js-form-type-checkbox) a {
    font-size: 14px;
    color: var(--mc-white);
    text-decoration: underline;
    cursor: pointer;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox, .js-form-type-checkbox) a:is(:hover, :focus-visible) {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.92);
}

.front-feedback form.webform-submission-form .form-check {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    align-items: center;
    margin: 0;
    padding: 0;
    width: 100%;
}

.front-feedback form.webform-submission-form .form-check .form-check-input {
    grid-column: 1;
    grid-row: 1;
    margin-top: 0;
}

.front-feedback form.webform-submission-form .form-check .form-check-label {
    grid-column: 2;
    grid-row: 1;
}

.front-feedback form.webform-submission-form .form-check :is(.form-item--error-message, strong.error.form-item--error-message) {
    grid-column: 1 / -1;
    width: 100%;
    margin: 4px 0 0;
    padding-left: calc(22px + 12px);
    box-sizing: border-box;
}

.front-feedback form.webform-submission-form .form-check-label {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-family: var(--mc-font-body);
    font-size: 14px;
    font-weight: 500;
    line-height: var(--mc-p3-lh);
    color: var(--mc-white);
    cursor: pointer;
}

.front-feedback form.webform-submission-form :is(.form-type-checkbox, .js-form-type-checkbox) > .description {
    flex: 1 1 100%;
    margin: 8px 0 0;
    font-size: var(--mc-p3);
    line-height: 1.25;
    color: rgba(255, 255, 255, 0.85);
}

.front-feedback form.webform-submission-form .form-check-label a {
    font-size: 14px;
    color: var(--mc-white);
    text-decoration: underline;
}

.front-feedback form.webform-submission-form .form-actions {
    margin: 10px 0 0;
    padding: 0;
}

.front-feedback form.webform-submission-form :is(.form-actions input[type="submit"], .webform-button--submit, button.webform-button--submit) {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 14px 23px;
    border: 0;
    border-radius: 30px;
    background: var(--mc-fiol);
    font-family: var(--mc-font-body);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.1;
    color: var(--mc-white);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.front-feedback form.webform-submission-form :is(.form-actions input[type="submit"], .webform-button--submit, button.webform-button--submit):is(:hover, :focus-visible) {
    background: var(--mc-white);
    color: var(--mc-fiol);
}

@media screen and (max-width: 767px) {
    .front-feedback form.webform-submission-form {
        grid-template-columns: 1fr;
    }

    .front-feedback form.webform-submission-form > :is(.form-type-textfield, .js-form-type-textfield, .form-type-tel, .js-form-type-tel) {
        grid-column: 1 / -1;
    }

    .front-feedback .front-feedback__region.region-feedback {
        max-width: 100%;
    }
}

/* Страница контактов */
.vesta-page-contacts {
    margin: 0 0 28px;
}

.vesta-page-contacts__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vesta-page-contact {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.vesta-page-contact--geo {
    align-items: flex-start;
}

.vesta-page-contact__icon {
    flex-shrink: 0;
    line-height: 0;
}

.vesta-page-contact__icon img {
    display: block;
}

.vesta-page-contact__icon--user img {
    filter: brightness(0) saturate(100%);
    opacity: 0.85;
}

.vesta-page-contact__link,
.vesta-page-contact__text {
    font-family: var(--mc-font-body);
    font-size: var(--mc-p3);
    line-height: var(--mc-p3-lh);
    font-weight: 500;
    color: var(--mc-black);
}

.vesta-page-contact__link {
    text-decoration: none;
    cursor: pointer;
    word-break: break-word;
}

.vesta-page-contact__link:hover,
.vesta-page-contact__link:focus-visible {
    color: var(--mc-fiol);
}

.vesta-page-contact__text {
    overflow-wrap: anywhere;
}

.vesta-page-contact__text--mode {
    white-space: pre-line;
    line-height: 1.35;
}

.vesta-page-contacts__list .vesta-page-contact:has(.vesta-page-contact__text--mode) {
    align-items: flex-start;
}

/* Внутренние: заголовки */
.page.not-front #main .section-specialists .view > .view-header > h2 {
    margin: 0 0 20px;
}

.page.not-front #main .section-specialists .section-services__inner .block:has(.view) > :is(.block-heading-line, h2.block-title) {
    margin-bottom: 20px;
}

.page.not-front #main .view-katalog-uslug .view-header > h2:first-of-type,
.page.not-front #main .view-katalog-uslug .view-header > h3:first-of-type {
    font-size: var(--mc-h2);
    font-weight: 500;
    font-family: var(--mc-font-heading);
    line-height: var(--mc-heading-lh);
    margin-top: 0;
    margin-bottom: 20px;
    margin-right: auto;
}

.page.not-front #main .front-gallery .front-gallery__view > .block > .views-element-container > .view > .view-header h2,
.page.not-front #main .front-gallery .view > .view-header h2 {
    margin: 0 0 20px;
}