/* ВНИМАНИЕ (MIKOS): селекторы `header`/`footer` из исходного шаблона medmaket
   переименованы в `.medmaket-legacy-header` / `.medmaket-legacy-footer`,
   потому что шапка и подвал MIKOS — это <header class="mikos-header">
   и <footer class="mikos-footer">, а старые правила (в т.ч. position: fixed !important)
   ломали их вёрстку. Правила оставлены для справки, но ни на что не влияют. */

@charset "utf-8";

:root {
    --black: #150101;
    --gray: #595353;
    --red: #f23b2d;
    --white: #fff;
    --white-gray: #f7f7f7;
    --red-12: rgba(242, 59, 45, 0.12);
    --white-50: rgba(255, 255, 255, 0.5);
    --gray-white: #a3a0a0;
    --white-75: rgba(255, 255, 255, 0.75);
    --body-black: #150101;
    --body-gray: #595353;
    --body-white-gray: #f7f7f7;
    --body-white: #fff;
    --body-gray-white: #a3a0a0;
    --stroke-white-gray: #f2f2f2;
}
html {
    scroll-behavior: smooth;
}
body {
    padding-top: 145px;
    font-family: "Golos Text", sans-serif;
    font-weight: normal;
    overflow-x: hidden;
    color: var(--black);
    background: var(--white-gray);
    font-size: 16px;
    line-height: 1.2;
    margin: 0;
    text-rendering: optimizeSpeed;
    min-width: 320px;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
}
html {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}
/* bc */
.breadcrumb {
    position: relative;
    background: transparent;
    margin: 24px 0 12px;
    padding: 0;
    font-size: 16px;
    line-height: 1.4;
    color: var(--red);
}
.breadcrumb li {
    list-style: none;
    display: inline-block;
    vertical-align: middle;
}
.breadcrumb li:after {
    content: '/';
    font-size: 16px;
    display: inline-block;
    margin: 0 8px 0 10px;
    color: #12234d;
}

.service-intro__breadcrumbs .breadcrumb li:after {
    color: var(--white-75);
}

.breadcrumb li a {
    color: #78879a;
    font-size: 16px;
}
.breadcrumb li:last-child:after {
    content: none;
}
.breadcrumb > li + li:before {
    content: none;
}
/* .bc */
h1 {
    font-size: 44px;
    line-height: 1.1;
    font-weight: 600;
    color: var(--black);
    margin: 0 0 32px;
}
h2 {
    font-size: 36px;
    line-height: 1.2;
    color: var(--black);
    font-weight: 600;
    margin: 0 0 32px;
}
h2 span {
    color: var(--red);
}
.h2__sub {
    font-size: 18px;
    line-height: 150%;
    color: var(--gray);
    margin: -10px 0 40px;
}

/* text block */
.attention {
    position: relative;
    background: #FFF5EB;
    border-radius: 20px;
    padding: 40px;
}
.attention.attention_new {
    padding-left: 80px;    
}
.attention.attention_new:before {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='26.0025' height='26.0025' rx='13.0013' fill='%23E2DDD8'/%3E%3Cpath d='M13.386 4C13.958 4 14.42 4.18333 14.772 4.55C14.772 5.386 14.6913 6.838 14.53 8.906C14.3687 10.974 14.1707 13.1813 13.936 15.528C13.8627 16.188 13.6793 16.518 13.386 16.518C13.0927 16.518 12.9093 16.188 12.836 15.528C12.6013 13.1813 12.4033 10.974 12.242 8.906C12.0807 6.838 12 5.386 12 4.55C12.3227 4.18333 12.7847 4 13.386 4ZM12.044 19.752C12.044 19.4733 12.198 19.1653 12.506 18.828C12.8287 18.476 13.122 18.3 13.386 18.3C13.6647 18.3 13.9653 18.4687 14.288 18.806C14.6107 19.1433 14.772 19.4587 14.772 19.752C14.772 20.0307 14.6107 20.3387 14.288 20.676C13.9653 21.0133 13.6647 21.182 13.386 21.182C13.1367 21.182 12.8507 21.0133 12.528 20.676C12.2053 20.3387 12.044 20.0307 12.044 19.752Z' fill='%233C3C3C'/%3E%3C/svg%3E");
    position: absolute;
    top: 40px;
    left: 40px;
    background-size: 26px;
    width: 26px;
    height: 26px;
}
.attention.attention_2 {
    background: #fff;
}
.attention {
    list-style: none;
}
.attention.text-block li {
    padding-left: 45px;
}
.attention.text-block li:before {
    content: '';
    position: absolute;
    top: 4px;
    left: 0;
    width: 26px;
    height: 26px;
    background-size: 26px;
    background: transparent;
    background-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect opacity='1' width='26.0025' height='26.0025' rx='13.0013' fill='%23fff' /%3E%3Cpath d='M8.35796 13.0819L12.4441 16.7158L18.5732 8.35786' stroke='%23222' stroke-width='2' stroke-linecap='round' /%3E%3C/svg%3E");
}

.text-block .attention {
    list-style: none;
}
.text-block .attention li {
    padding-left: 45px;
}
.text-block .attention li:before {
    content: '';
    position: absolute;
    top: 4px;
    left: 0;
    width: 26px;
    height: 26px;
    background-size: 26px;
    background: transparent;
    background-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='26.0025' height='26.0025' rx='13.0013' fill='%23E2DDD8' /%3E%3Cpath d='M8.35796 13.0819L12.4441 16.7158L18.5732 8.35786' stroke='%233C3C3C' stroke-width='2' stroke-linecap='round' /%3E%3C/svg%3E");
}
.service-content .in-text-block h2 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 24px;
}
.service-content h3 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 24px;
}
.text-block {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    color: #2c2c2c;
}
.text-block .alignright {
    float: right;
    margin: 0 0 10px 30px;
}
.btn_ghost:hover svg path {
    fill: #fff;
}
.text-block h2 {
    font-weight: bold;
    font-size: 28px;
    line-height: 130%;
    color: #000;
    text-align: left;
    text-transform: none;
    margin: 0 0 40px;
}
.text-block h3 {
    font-weight: bold;
    font-size: 22px;
    color: #2c2c2c;
    text-align: left;
    text-transform: none;
    margin: 0 0 20px;
}
.text-block h4 {
    font-size: 24px;
    line-height: 36px;
    margin: 0 0 30px;
}
.text-block p + h2,
.text-block ul + h2,
.text-block p + h3,
.text-block ul + h3 {
    margin-top: 40px;
}
.text-block p {
    margin-bottom: 20px;
}
.text-block li {
    margin-bottom: 18px;
}
.text-block ol {
    padding-left: 0;
    margin: 0 0 20px;
}
.text-block ul,
.text-block ol {
    margin-bottom: 30px;
}
.text-block ul li,
.text-block ol li {
    list-style: none;
    padding-left: 20px;
    position: relative;
}
.text-block ul li:before,
.text-block ol li:before {
    position: absolute;
    top: 10px;
    left: 0;
    content: '';
    width: 5px;
    height: 5px;
    background: var(--red);
    border-radius: 50%;
}
.text-block img {
    width: 100%;
    max-width: 600px !important;
    height: auto !important;
    border-radius: 10px;
}
.text-block a {
    color: var(--red);
    border-bottom: 1px solid;
}
.text-block .article-content__list li a {
    color: #393742;
    border-bottom: none;
}
.text-block ol { 
    counter-reset: item; 
}

.block {
    padding: 80px 0;
}
.block-2 {
    background-color: #F8F6F7;
}
.block-3 {
    background-color: #DFF1EF;
}
.block-4 {
    background-color: #FFF7E6;
}
.fs {
    flex-shrink: 0;
}

.btn {
    display: inline-block;
    outline: none;
    box-shadow: none;
    border: none;
    white-space: nowrap;
    text-align: center;
    height: 52px;
    line-height: 52px;
    font-weight: 600;
    font-size: 18px;
    color: #fff;
    background-color: var(--red);
    padding: 0 25px;
    transition: .4s;
    border-radius: 12px;
}
.btn.btn_arrow {
    display: flex;
    gap: 40px;
    align-items: center;
    width: fit-content;
}
.btn.btn_ghost {
    background: transparent;
    border: 1px solid var(--red);
    color: var(--red);
    line-height: 45px;
    font-size: 16px;
}
.btn_small {
    font-size: 16px;
    height: 41px;
    font-weight: normal;
    line-height: 41px;
    padding: 0 25px;
}

.btn:hover,
.btn:active,
.btn:focus {
    transition: .4s;
    background: #f0c88f;
    color: #2c2c2c;
}

.btn.btn_ghost:hover,
.btn.btn_ghost:active,
.btn.btn_ghost:focus {
    transition: .4s;
    background: var(--red);
    color: #fff;
}

.card {
    background: #fff;
    border-radius: 32px;
    padding: 52px;
    margin-bottom: 60px;
}
.doc-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 6px;
}
.doc-item a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 220px;
    padding: 14px;
    border-radius: 10px;
    background: var(--white-gray);
    transition: background .25s ease;
}
.doc-item a:hover {
    background: #ececec;
}

/* Слайдер документов (parts/docs.php) — переопределение
   только в контексте .docs-slider, чтобы не задевать
   сертификаты на single-specs */
.docs-slider .doc-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border: 1px solid #ccc;
    border-radius: 8px;
}
.docs-slider .doc-item a {
    height: 380px;
    padding: 0;
    background: transparent;
    border-radius: 8px;
}
.docs-slider .doc-item a:hover { background: transparent; }
.title-block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 60px;
}
.title-block h2 {
    margin: 0;
}

.map-frame {
    height: 100%;
}
.map-frame iframe {
    width: 100% !important;
    height: 100% !important;
    display: block;
    padding: 0;
    margin: 0;
    border-radius: 25px;
}
.card_contacts__in {
    height: 100%;
    padding: 60px 80px 60px 60px;
}
.contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    line-height: 120%;
    color: #000;
}
.contact-item__icon {
    width: 22px;
    height: 22px;
}
.contact-item__icon svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    flex-shrink: 0;
}
.card__contacts-text {
    font-weight: 400;
    font-size: 18px;
    line-height: 130%;
    color: #000;
    margin: 40px 0 12px;
}

.app__text h2 {
    font-weight: 800;
    font-size: 54px;
    line-height: 125%;
    color: #2c2c2c;
    margin-bottom: 20px;
}
.app__text {
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    color: #2c2c2c;
}
.app__text p {
    margin-bottom: 20px;
}

.form-group {
    margin-bottom: 20px;
}
.form input[type="email"],
.form input[type="text"],
.form select {
    width: 100%;
    height: 60px;
    padding: 0 25px;
    line-height: 60px;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 20px;
}
.form-sumbit .btn {
    width: 100%;
    height: 60px;
    line-height: 60px;
}
.i-form .form {
    max-width: 580px;
}
.form__terms {
    margin-bottom: 40px;
}
.form__title {
    font-weight: bold;
    font-size: 35px;
    line-height: 1.1;
    text-align: left;
    color: var(--red);
    margin-bottom: 60px;
}
.front-form .form-sumbit {
    text-align: center;
}
.m-block {
    margin-bottom: 50px;
}

.sale-item {
    border-bottom: 1px solid #c5c5c5;
    padding-bottom: 50px;
    margin-bottom: 50px;
}
.sale-item__image img {
    width: 100%;
}
.sale-item__title {
    font-weight: 700;
    font-size: 24px;
    letter-spacing: -0.05em;
    color: var(--red);
    margin-bottom: 10px;
}
.sale-item__date {
    color: #778bb4;
    font-size: 16px;
    font-weight: 300;
    margin-bottom: 40px;
}
.video-item .video-btn {
    position: absolute;
    top: calc(50% - 35px);
    left: 0;
    right: 0;
    text-align: center;
    color: #1A1A1A;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}
.video-item:hover .video-btn {
    color: var(--red);
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}
.video-item:hover .video-btn {
    transform: none;
    transition: .4s;
}
.video-item:hover .video-btn {
    transform: scale(1.1);
    transition: .4s;
}
.folio-item__in {
    position: relative;
    height: 260px;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -2px 12px;
}
.folio-item img {
    width: 100%;
    height: 260px;
    -o-object-fit: cover;
    object-fit: cover;
}
.folio-before,
.folio-after {
    position: relative;
    height: 100%;
    width: 50%;
    padding: 0 2px;
    overflow: hidden;
}
.folio-before:before {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    content: 'до';
    font-size: 16px;
    text-transform: uppercase;
    background: #12234d91;
    width: 80px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 10px;
}
.folio-after:before {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    content: 'после';
    font-size: 16px;
    text-transform: uppercase;
    background: #12234d91;
    width: 80px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    border-bottom-right-radius: 10px;
}
.folio-name {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    color: #2c2c2c;
    margin-top: 20px;
}
.case-item__slider {
    border-radius: 12px;
    overflow: hidden;
}
.case-item__image img {
    width: 100%;
    height: 270px;
    object-fit: cover;
    border-radius: 12px;
}

.folio-before img {
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
}
.folio-after img {
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}
.bens .row {
    margin: 0 -10px;
}
.bens .row .col-6,
.bens .row .col-3 {
    padding: 0 10px;
}
.row.auto-h.bens__bottom-list .col-6:nth-child(3),
.row.auto-h.bens__bottom-list .col-6:nth-child(4) {
    margin-bottom: 0;
}
.similar-slider .team-item__image img {
    border-radius: 20px 0 20px 0;
}
.team-item__image {
    overflow: hidden;
    border-radius: 20px;
}
.team-item__image img {
    transition: .3s;
}
.team-item:hover .team-item__image img {
    transform: scale(1.05);
    transition: .3s;
}
.team-item__link {
    transition: .4s;
}
.team-item:hover .team-item__link svg path {
    fill: #fff;
}
.team-item__image {
    position: relative;
    overflow: hidden;
    background: #ebebeb;
    margin-bottom: 20px;
}
.team-item__image::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 407px;
    height: 370px;
    max-width: 110%;
    transform: translate(-50%, 0) scale(0.7);
    transform-origin: center bottom;
    background: url('/img/sale-mask.svg') no-repeat center bottom;
    background-size: contain;
    opacity: 0;
    z-index: 1;
    pointer-events: none;
    will-change: transform, opacity;
    transition: transform 1.1s cubic-bezier(.22,.61,.36,1), opacity 1.1s ease;
}
.team-item:hover .team-item__image::before {
    opacity: 1;
    transform: translate(-50%, 0) scale(1.3);
}
.team-item__image img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 344px;
    object-fit: cover;
    object-position: top;
    border-radius: 12px;
}
.spec-page__img video {
    position: relative;
    z-index: 2;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: top;
    border-radius: 20px;
}
.spec-page__img {
    position: relative;
}
.spec-page__img img {
    background: #dbe5ef;
}
.team-item__title a {
    font-size: 18px;
    line-height: 150%;
    color: #2c2c2c;
}
.team-item__video-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 3;
    color: var(--red);
}
.team-item__video-btn a {
    display: block;
}
.team-item__video-btn a:hover svg {
    transform: scale(1.1);
    transition: .3s;
}
.team-item__video-btn svg {
    width: 40px;
    height: 40px;
    transition: .3s;
}
.team-item__title {
    margin: 0 0 7px;
}
.team-item__post {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    color: #787878;
}
.team-item__post b {
    font-weight: 500;
    color: #222;
}

.team-item__btns {
    margin-top: 25px;
    display: flex;
    flex-wrap: nowrap;
    gap: 15px;
}
.team-item__btns .btn {
    flex: 1;
    width: calc(100% - 60px);
    height: 45px;
    line-height: 45px;
    padding: 0 10px;
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    color: #fff;
}
.team-item__link {
    width: 45px;
    height: 45px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.team-item__link svg {
    flex-shrink: 0;
}
.review-item {
    width: 100%;
    height: 370px;
    padding: 30px 50px;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.4;
    color: #696f5e;
    box-shadow: 0 8px 16px 0 rgba(181, 181, 181, 0.25);
    background: #fff;
    border-top-left-radius: 30px;
    border-bottom-right-radius: 30px;
}
.reviews-slider {
    padding: 10px 10px 0;
    margin: 0 -10px;
}
.form input:focus {
    outline: none;
}
.star {
    position: relative;
    margin-bottom: 10px;
}
.star img {
    width: 100%;
    height: 245px;
    object-fit: cover;
    border-radius: 20px;
}
.stars .row {
    margin: 0 -5px;
}
.stars .col-4,
.stars .col-8,
.stars .col-12,
.stars .col-6 {
    padding: 0 5px;
}
.programs-slider {
    padding: 20px 10px;
    margin: 0 -10px;
}
.programs-slider .swiper-slide {
    height: auto;
}
.program-item .team-item__image img {
    height: 220px;
}
.program-item .team-item__title {
    margin-bottom: 20px;
}
.program-item .team-item__title a {
    font-weight: 700;
    font-size: 20px;
    line-height: 1.3;
    color: #12234d;
}
.program-item__sub {
    font-weight: 300;
}

.news-slider .swiper-slide {
    height: auto;
}
.procedures .news-item {
    margin-bottom: 0;
}
.news-slider .news-item {
    height: 100%;
    margin-bottom: 0;
}
.news-slider {
    padding: 20px 10px;
    margin: 0 -10px;
}
.news-item {
    display: flex;
    flex-direction: column;
}
.news-item__image img {
    width: 100%;
    border-radius: 20px;
    height: 300px;
    object-fit: cover;
}

.news-item__date {
    font-weight: 500;
    font-size: 16px;
    line-height: 140%;
    color: #616161;
    margin-bottom: 20px;
}
.news-item__title a {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.4;
    color: var(--black);
}
.news-item__title {
    margin-bottom: 19px;
}
.news-item__short {
    font-weight: 500;
    font-size: 16px;
    line-height: 140%;
    color: #000;
    margin-bottom: 16px;
}
.news-page__img img {
    width: 100%;
    height: auto;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
}
.blog-item .news-item__in {
    padding: 0;
}
.hero .bread__line {
    background: transparent;
}
.hero_service .container {
    position: relative;
    z-index: 2;
}
.screen__bens .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 60px;
    font-size: 16px;
    line-height: 120%;
    font-weight: 500;
    color: #042225;
    padding: 0 15px;
    margin-right: 20px;
}
.screen__bens .item:last-child {
    margin-right: 0;
}

.service-bens .row {
    justify-content: center;
}
.card.service-bens {
    padding: 20px;
}
.spec-page h1 {
    font-weight: 600;
    font-size: 40px;
    margin-bottom: 20px;
}
.spec-page__img img {
    width: 100%;
    height: auto;
    border-radius: 24px;
}
.spec-page .team-item__post {
    margin-bottom: 20px;
}
.spec-page .team-item__exp {
    margin-bottom: 20px;
}
.spec-page__btns {
    display: flex;
    gap: 40px;
    align-items: center;
    margin-bottom: 40px;
}
.spec-page__btns .btn_ghost {
    display: flex;
    align-items: center;
    gap: 12px;
}
.spec-page__bottom-text.text-block ul {
    margin-bottom: 40px;
}
.spec-page__bottom-text.text-block li {
    padding-left: 45px;
}
.spec-page__bottom-text.text-block li:before {
    content: '';
    position: absolute;
    top: 4px;
    left: 0;
    width: 26px;
    height: 26px;
    background-size: 26px;
    background: transparent;
    background-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='26.0025' height='26.0025' rx='13.0013' fill='%23E2DDD8' /%3E%3Cpath d='M8.35796 13.0819L12.4441 16.7158L18.5732 8.35786' stroke='%233C3C3C' stroke-width='2' stroke-linecap='round' /%3E%3C/svg%3E");
}
.spec-page__top {
    margin-bottom: 40px;
}

.article-list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 20px;
}
.article-list li a {
    font-weight: normal;
    font-size: 18px;
    line-height: 1.4;
    color: var(--gray);
    transition: .3s;
}
.article-list li a:hover {
    transition: .3s;
    color: var(--red);
}
.article-list li:before {
    content: '';
    position: absolute;
    top: 6px;
    left: 0;
    width: 10px;
    height: 11px;
    background-size: 10px;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='11' viewBox='0 0 10 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 3.73505C10.3333 4.50485 10.3333 6.42935 9 7.19915L3 10.6633C1.66667 11.4331 0 10.4708 0 8.9312V2.003C0 0.463398 1.66667 -0.498851 3 0.27095L9 3.73505Z' fill='%23deaf6e' /%3E%3C/svg%3E");
}
.price-item {
    display: flex;
    gap: 20px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #dbdbdb;
}
.price-item__in {
    flex: 1;
}
.price-item__val {
    width: 200px;
    flex-shrink: 0;
}
.price-item__title {
    font-weight: 600;
    font-size: 20px;
    color: #000;
    margin-bottom: 10px;
}
.price-item__text {
    font-weight: 400;
    font-size: 16px;
    color: #5b5b5b;
}
.price-item__val {
    font-weight: 600;
    font-size: 22px;
    line-height: 100%;
    text-align: center;
    color: #000;
}
.prices-table table {
    width: 100%; 
    border-collapse: collapse;
}
.prices-table table td {
    padding: 15px;
    font-weight: 500;
    font-size: 16px;
    border: none; 
    border-bottom: 1px solid #000;
}
.prices-table table td {
    font-weight: 500;
    font-size: 16px;
    color: #000;
}
.prices-table table td:last-child {
    text-align: right;
    padding-right: 0;
    min-width: 200px;
}
.prices-table table td:first-child {
    padding-left: 0;
}

.expert__header {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, .8);
    border-radius: 16px;
    padding: 8px 16px 8px 8px;
}
.expert__image a {
    display: block;
}
.expert__info {
    margin-left: 8px;
}
.expert__image img {
    border-radius: 8px;
    width: 58px;
    height: 58px;
    object-position: top;
    object-fit: cover;
}
.expert__name a {
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 2px;
}
.expert__title {
    font-size: 32px;
    font-weight: bold;
    line-height: 130%;
    color: #fff;
    margin-bottom: 24px;
}
.team-item__exp {
    color: #fff;
}
.expert__btn a {
    background: var(--red);
}
.expert__text {
    position: relative;
}
.expert__text a {
    color: var(--red);
}
.expert__text-in p:last-child {
    margin-bottom: 0;
}
.expert__text-in {
    position: relative;
    z-index: 2;
}
.expert__btn {
    margin-left: auto;
}
.expert__btn .btn {
    font-size: 16px;
    padding: 0 40px;
}
.problems-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.problems-list li a {
    display: block;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
    color: var(--red);
    border-radius: 10px;
    background: #fff;
    border: 2px solid var(--red);
    padding: 12px 20px;
    text-align: center;
    text-transform: uppercase;
    transition: .4s;
}
.problems-list li a:hover {
    color: #fff;
    background: var(--red);
    transition: .4s;
}
.text-btn {
    margin-top: 60px;
}
.text-btn a {
    color: #fff;
}
.expert__title-in {
    display: flex;
    align-items: center;
    gap: 50px;
    margin-bottom: 28px;
}
.expert__title-in .expert__title {
    margin-bottom: 0;
}
.expert-title__text {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.3;
    color: #fff;
}
.text-block.attention,
.text-block.attention_3 {
    color: #222;
}
.attention {
    margin-bottom: 30px;
}
.equip-item__image img {
    width: 100%;
    max-width: 200px;
    height: 100%;
    max-height: 170px;
}
.equip-item {
    background: #F3F3F3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    height: 340px;
    border-radius: 20px;
    margin-bottom: 40px;
    transition: .4s;
}
.equip-item:hover {
    background: #e8e8e8;
    transition: .4s;
}
.equip-item__image {
    margin-bottom: 20px;
}
.equip-item__title a {
    display: block;
    font-weight: 600;
    font-size: 22px;
    line-height: 130%;
    text-align: center;
    color: #000;
}
.service-item__more a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.similar-slider .swiper-slide {
    height: auto;
}
.similar-slider .swiper-slide .team-item {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.similar-slider .service-item__more a {
    width: fit-content;
}
.service-item__more {
    margin-top: auto;
}
.team-item {
    height: 100%;
}
.serv-item {
    display: block;
    position: relative;
    border-radius: 20px;
    background: #f5f6fb;
    padding: 20px 20px 260px;
}
.serv-item__img {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 240px;
    overflow: hidden;
    display: block;
    margin: 0 auto;
}
.serv-item__img img {
    width: 100%;   
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.service-item__title a {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    color: #2c2c2c;
}
.service-item__price {
    display: flex;
    align-items: center;
    gap: 17px;
    font-size: 18px;
    line-height: 150%;
    color: #2c2c2c;
}

.sales-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px; 
}

.sale-item_big {
    height: 520px;
}

.features-card .row .col-3 {
    margin-bottom: 16px;
}
.features-card.features-card--dark h3 {
    color: #fff;
}
.features-card {
    position: relative;
    z-index: 2;
    overflow: hidden;
}
.features-card > * { position: relative; z-index: 1; }
.features-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}
.features-card__nav {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.features-card__subtitle { margin-bottom: 16px; }

/* ── Variant: dark (карточки на тёмном градиенте со слайдером) ── */
.features-card--dark {
    background: radial-gradient(596.89% 141.42% at 0% 0%, #313242 0%, #545664 100%);
}
.features-card--dark::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--features-bg, none);
    background-repeat: no-repeat;
    background-position: center right;
    background-size: contain;
    opacity: 0.12;
    pointer-events: none;
    z-index: 0;
}
.features-card--dark .features-card__title { color: #fff; }
.features-card--dark .features-card__subtitle { color: rgba(255,255,255,0.72); }
.features-card__slider { overflow: hidden; }
.features-card__slider .swiper-slide { height: auto; }
.features-card--dark .ben-item {
    margin-bottom: 0;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    background: transparent;
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
}
.features-card--dark .ben-item__title { color: #fff; font-size: 18px; font-weight: 600; line-height: 1.25; margin: 0; padding: 0; }
.features-card--dark .ben-item__text  { color: rgba(255,255,255,0.72); font-size: 15px; line-height: 1.45; }
.features-card .ben-item__icon {
    width: 38px;
    height: 38px;
    padding: 10px;
    border-radius: 6px;
    background: var(--white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.features-card .ben-item__icon svg { width: 100%; height: 100%; display: block; }
.features-card .ben-item__icon img { width: 100%; height: 100%; display: block; object-fit: contain; }
.features-card .ben-item__icon svg path,
.features-card .ben-item__icon svg rect,
.features-card .ben-item__icon svg circle { fill: var(--red); }

/* ── Variant: light (карточки на белом фоне card) ── */
.features-card--light { background: var(--white); }
.features-card--light .features-card__title { color: var(--black); }
.features-card--light .features-card__subtitle { color: var(--gray); }
.features-card--light .features-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.features-card--light .ben-item {
    margin-bottom: 0;
    padding: 24px;
    border: none;
    border-radius: 12px;
    background: #F7F7F7;
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
}
.features-card--light .ben-item__title { color: var(--black); font-size: 18px; font-weight: 700; line-height: 1.25; margin: 0; padding: 0; }
.features-card--light .ben-item__text  { color: var(--gray); font-size: 15px; line-height: 1.5; }

/* ── Variant: list (список с красным маркером, опционально с картинкой слева) ── */
.features-card--list { background: var(--white); }
.features-card--list .features-card__title { color: var(--black); }
.features-card--list .features-card__subtitle { color: var(--gray); }
.features-list-wrap { display: block; }
.features-list-wrap--with-image {
    display: grid;
    grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
    gap: 40px;
    align-items: start;
}
.features-list__image { line-height: 0; }
.features-list__image img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    display: block;
}
.ben__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.ben__list-item {
    position: relative;
    padding: 4px 0 0 42px;
}
.ben__list-item::before {
    content: '';
    position: absolute;
    top: 4px;
    left: 0;
    width: 30px;
    height: 30px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' viewBox='0 0 30 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='3' width='24' height='24' rx='12' stroke='%23F23B2D' stroke-opacity='0.18'/%3E%3Crect x='9.5' y='9.5' width='11' height='11' rx='5.5' fill='%23F23B2D'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 30px 30px;
}
.ben__list-title {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--black);
    margin-bottom: 6px;
}
.ben__list-text {
    font-size: 18px;
    line-height: 1.55;
    color: var(--gray);
}
.ben__list-text p { margin: 0; }

@media (max-width: 991px) {
    .features-card { padding: 20px; }
    .features-card__head { flex-wrap: wrap; }
    .features-card--light .features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .features-list-wrap--with-image { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 600px) {
    .features-card--light .features-grid { grid-template-columns: 1fr; }
}
.feature {
    flex: 0 0 32%;
    border-right: 1px solid #e0e0e0;
}
.feature:last-child {
    border-right: none;
}
.tab__nav {
    margin-bottom: 40px;
}
.tab__nav li {
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 12px;
}
.tab__nav li a {
    display: inline-block;
    color: var(--red);
    border-radius: 10px;
    background: transparent;
    border: 2px solid var(--red);
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
    padding: 12px 30px;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}
.tab__nav li a.active,
.tab__nav li a:hover {
    background: var(--red);
    color: #fff;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}
.gallery-item img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: 20px 0 20px 0;
}
.gallery-item__image {
    margin-bottom: 13px;
}
.gallery-item__image a {
    display: block;
}
.swiper-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 10px;
    cursor: pointer;
}
.slider-nav {
    display: flex;
    gap: 20px;
    align-items: center;
}
.card_blue {
    background: #e1ecf5;
}
.title-block .h2__sub {
    max-width: 600px;
    padding-left: 50px;
    border-left: 1px solid #e0e0e0;
}
.bens {
    padding-bottom: 20px;
}
.title-block.title-block_sub {
    align-items: flex-start;
}
.card_callback {
    background: #FFF5EB;
    background-size: cover;
    background-position: center;
    text-align: center;
}
.card_callback.card {
    padding: 45px;
}
.card-callback__title {
    font-weight: 700;
    font-size: 40px;
    line-height: 110%;
    text-align: center;
    color: var(--red);
    margin-bottom: 24px;
}
.btn.btn_50 {
    height: 50px;
    line-height: 50px;
    padding: 0 60px;
}
.card-callback__text {
    font-weight: 700;
    font-size: 18px;
    line-height: 130%;
    text-align: center;
    color: #222;
    margin-bottom: 45px;
}
.card-callback__btn .btn {
    font-weight: bold;
    padding: 0 60px;
}
.front-faq .faq-item {
    background: #fff;
    border-radius: 0;
    border-bottom: 1px solid #c5c5c5;
}
.front-faq .faq-question {
    border-radius: 0;
    background: #fff;
    font-weight: 700;
    font-size: 24px;
    color: #12234d;
    padding-left: 0;
    padding-right: 0;
}
.front-faq .faq-answer {
    font-weight: 300;
    font-size: 18px;
    line-height: 130%;
    color: #788bb4;
}
.front-faq .faq-item__btn svg path {
    fill: #222;
}
.form__terms a {
    color: var(--red);
    border-bottom: 1px solid;
}
.header__social svg {
    color: var(--red);
}
.search input {
    width: 100%;
    line-height: 50px;
    height: 50px;
    border-radius: 12px;
    padding: 0 20px;
    outline: none;
    box-shadow: none;
    border: 1px solid #ccc;
}
.search header input {
    border-color: transparent;
}
.search .btn {
    width: 100%;
}
.search {
    margin-bottom: 40px;
}
.search-item h2 {
    font-size: 24px;
    color: var(--red);
}
.service-link > ul.sub-menu {
    columns: 3;
    padding: 30px 60px;
    width: 800px;
}
.text-block b {
    font-weight: bold;
}
.text-block .card_callback {
    margin: 40px 0;
    padding: 40px;
    box-shadow: none;
}
.text-block .card_callback .card-callback__text h5 {
    font-size: 26px;
    line-height: 1.3;
    font-weight: 500;
}
.text-block table {
    font-size: 16px;
    width: 100%;
    border-collapse: separate; /* Важно для скругления углов */
    border-spacing: 0;
    border: 1px solid #f0f0f0;
    border-radius: 15px; /* Скругление как на макете */
    overflow: hidden;
    margin-bottom: 40px;
    font-family: sans-serif;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05); /* Легкая тень для объема */
}

.text-block table tr th {
    padding: 14px 16px;
    color: #ffffff; /* Белый текст */
    font-weight: 400;
    background: #545664;
    text-align: left;
    border: none;
}
.text-block table tr td {
    padding: 14px 16px;
    color: #4a4a4a;
    line-height: 1.5;
    background: #ffffff;
    border: 1px solid #f2f2f2; /* Только горизонтальные линии */
}

/* Убираем нижнюю границу у последней строки, чтобы не портила скругление */
.text-block table tr:last-child td {
    border-bottom: none;
}

/* Стили для первого столбца (названия) */
.text-block table tr td:first-child {
    color: #333;
    font-weight: 500;
}

/* Адаптивность для мобильных */

.team-item {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.team-item__btns {
    padding-top: 20px;
    margin-top: auto;
}
.news-item__more {
    margin-top: auto;
}
.header__search-btn {
    margin-left: auto;
    display: flex;
    align-items: center;
}
.header__search-btn a svg {
    width: 20px;
    height: 20px;
}
.medmaket-legacy-header {
    position: relative;
    z-index: 4;
}

.btn_main:hover .arrow {
    transform: rotate(56deg);
    transition: .3s;
}
.medmaket-legacy-footer {
    background: #fff;
    padding: 60px 0 0;
    border-radius: 32px 32px 0 0;
}
.medmaket-legacy-footer .social-btn {
    color: var(--red);
}
.footer__in {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 40px;
}
.footer__brand {
    width: 179px;
    height: 46px;
    margin-bottom: 20px;
}
.footer__brand img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.medmaket-legacy-footer .header__schedule-item {
    color: #222;
}
.footer__lists {
    flex: 1;
    display: flex;
    gap: 60px;
    justify-content: space-between;
    margin-bottom: 30px;
}
.footer-list li {
    margin-bottom: 10px;
}
.footer-list li.footer-list-header {
    color: #222;
    font-weight: 500;
    font-size: 18px;
    margin-bottom: 16px;
}
.footer-list li a {
    font-size: 16px;
    color: #222;
}
.footer-list {
    max-width: 240px;
}
.footer__address {
    font-size: 14px;
    line-height: 125%;
    color: var(--red);
}
.medmaket-legacy-footer .header__schedule-item {
    color: #fff;
}
.footer__phone a {
    font-size: 18px;
    margin-bottom: 20px;
    color: #222;
    display: block;
}
.footer__bottom-in {
    padding: 40px 0 60px;
    border-top: 1px solid #eee;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 13px;
    color: #666;
}
.footer__bottom-in a {
    font-size: 13px;
    color: #666;
}

.card_purple {
    background: var(--brown);
}
.cta.card_purple {
    position: relative;
}
.cta .form__terms {
    color: #fff;
}
.cta .form__terms a {
    text-decoration: underline;
    text-decoration-skip-ink: none;
}
.contacts-page .contact-item {
    line-height: 1.3;
}
.form__terms.checkbox {
    margin-bottom: 0;
}
.form__terms.checkbox .checkbox-label {
    margin-bottom: 0;
}
.hero_service.hero {
    padding-top: 0;
}
.card_list {
    overflow: hidden;
    position: relative;
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: center;
    margin-top: 80px;
}
.pagination .page-numbers {
    font-size: 24px;
}
.pagination .current {
    color: var(--red);
}

.twentytwenty-horizontal .twentytwenty-handle:before,
.twentytwenty-horizontal .twentytwenty-handle:after {
    background-color: rgba(255,255,255,0.5);
}
.twentytwenty-handle {
    background-color: rgba(0,0,0,0.5); /* Цвет кнопки */
    border-radius: 0;
    width: 46px; /* Ширина кнопки */
    height: 20px; /* Высота кнопки */
    -webkit-box-shadow: none;
            box-shadow: none;
    border: none;
}
.twentytwenty-overlay {
    background: transparent;
}
.twentytwenty-before-label,
.twentytwenty-after-label {
    opacity: 1;
}
.case-item__slider img {
    width: 100%;
    height: 270px;
    -o-object-fit: cover;
       object-fit: cover;
}
.twentytwenty-horizontal .twentytwenty-handle:before {
    margin-bottom: 10px;
    -webkit-box-shadow: none;
            box-shadow: none;
}
.twentytwenty-horizontal .twentytwenty-handle:after {
    margin-top: 10px;
    -webkit-box-shadow: none;
            box-shadow: none;
}
.twentytwenty-right-arrow {
    display: none;
}
.twentytwenty-handle:hover {
    background: #fff;
}
.twentytwenty-left-arrow {
    position: relative;
    border: none;
    left: 0;
    margin-left: 0;
    text-align: center;
    width: 46px;
    height: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    top: 6px;
}
.twentytwenty-left-arrow:before {
    content: '';
    display: inline-block;
    width: 28px;
    height: 8px;
    background-size: 28px;
    background-image: url("data:image/svg+xml,%3Csvg width='28' height='8' viewBox='0 0 28 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.646447 3.64645C0.451184 3.84171 0.451184 4.15829 0.646447 4.35355L3.82843 7.53553C4.02369 7.7308 4.34027 7.7308 4.53553 7.53553C4.7308 7.34027 4.7308 7.02369 4.53553 6.82843L1.70711 4L4.53553 1.17157C4.7308 0.976311 4.7308 0.659728 4.53553 0.464466C4.34027 0.269204 4.02369 0.269204 3.82843 0.464466L0.646447 3.64645ZM27.3536 4.35355C27.5488 4.15829 27.5488 3.84171 27.3536 3.64645L24.1716 0.464466C23.9763 0.269204 23.6597 0.269204 23.4645 0.464466C23.2692 0.659728 23.2692 0.976311 23.4645 1.17157L26.2929 4L23.4645 6.82843C23.2692 7.02369 23.2692 7.34027 23.4645 7.53553C23.6597 7.7308 23.9763 7.7308 24.1716 7.53553L27.3536 4.35355ZM1 4.5H27V3.5H1V4.5Z' fill='white' style='fill:white;fill-opacity:1;' /%3E%3C/svg%3E");
}
.twentytwenty-handle:hover .twentytwenty-left-arrow:before {
    content: '';
    display: inline-block;
    width: 28px;
    height: 8px;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 8' fill='none'%3E%3Cpath d='M0.646447 3.64645C0.451184 3.84171 0.451184 4.15829 0.646447 4.35355L3.82843 7.53553C4.02369 7.7308 4.34027 7.7308 4.53553 7.53553C4.7308 7.34027 4.7308 7.02369 4.53553 6.82843L1.70711 4 4.53553 1.17157C4.7308 0.976311 4.7308 0.659728 4.53553 0.464466C4.34027 0.269204 4.02369 0.269204 3.82843 0.464466L0.646447 3.64645ZM27.3536 4.35355C27.5488 4.15829 27.5488 3.84171 27.3536 3.64645L24.1716 0.464466C23.9763 0.269204 23.6597 0.269204 23.4645 0.464466C23.2692 0.659728 23.2692 0.976311 23.4645 1.17157L26.2929 4 23.4645 6.82843C23.2692 7.02369 23.2692 7.34027 23.4645 7.53553C23.6597 7.7308 23.9763 7.7308 24.1716 7.53553L27.3536 4.35355ZM1 4.5H27V3.5H1V4.5Z' fill='%23e60074'/%3E%3C/svg%3E");
}
.twentytwenty-horizontal .twentytwenty-before-label:before,
.twentytwenty-horizontal .twentytwenty-after-label:before {
    top: 30px;
    font-size: 16px;
    padding: 5px 12px;
    font-weight: 400;
    color: #fff;
    background: var(--red);
    border-radius: 20px;
    line-height: 1.2;
    letter-spacing: normal;
}
.case-item {
    height: 100%;
    margin-bottom: 30px;
}
.swiper-arrow.swiper-button-disabled {
    opacity: .5;
}
.card_article-author {
    padding: 28px;
}
.card_article-author .team-item__post {
    color: #fff;
    font-weight: 500;
}
.card_article-author .expert__header {
    margin-bottom: 0;
}

.medmaket-legacy-header {
    position: fixed;
    top: 20px;
    left: 0;
    right: 0;
    width: 100%;
    transition: .3s;
}
.medmaket-legacy-header.header_scroll {
    top: 0;
    transition: .3s;
}
.header__in {
    border-radius: 20px;
    background: #fff;
    padding: 20px 40px 0;
}
.header__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header__brand {
    flex-shrink: 0;
    width: 179px;
    height: 46px;
}
.header__brand img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.header__place {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    line-height: 125%;
    color: #2c2c2c;
}
.header__phone a {
    font-weight: 500;
    font-size: 14px;
    color: #2c2c2c;
    opacity: .8;
}
.header__social {
    font-weight: 500;
    font-size: 14px;
    color: #2c2c2c;
    white-space: nowrap;
    text-align: center;
}
.header__social-tg {
    color: #27a7e7;
    font-weight: 500;
    font-size: 14px;
}
.header__schedule-item {
    font-size: 14px;
    color: #2c2c2c;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.header__schedule-label {
    width: 66px;
}
.header__address {
    font-size: 14px;
    line-height: 125%;
    color: #2c2c2c;
}
.header__middle {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header__nav > ul {
    display: flex;
    gap: 28px;
    align-items: center;
}
.header__nav li a {
    font-weight: 500;
    font-size: 16px;
    line-height: 125%;
    color: #2c2c2c;
}
.header__slabo button {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500;
    font-size: 14px;
    line-height: 125%;
    color: #919191;
}
.card.card_contacts {
    padding: 0;
    background: #fff5eb;
}
.card_contacts h2 {
    margin-bottom: 30px;
}
.hero-slider.swiper {
    overflow: visible;
}
.hero {
    overflow: hidden;
}
.circle-btn {
    width: 200px;
    height: 200px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.circle-btn__svg {
    width: 200px;
    height: 200px;
    position: absolute;
    left: 0;
    top: 0;
    animation: rotateCircle 40s linear infinite;
    transform-origin: 50% 50%;
}
@keyframes rotateCircle {
    0% { transform: rotate(0deg);}
    100% { transform: rotate(360deg);}
}
.circle-btn__icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}
.slider-nav {
    display: flex;
    align-items: center;
    width: fit-content;
    margin: 0 auto;
    gap: 20px;
    margin-top: 30px;
}

.hero {
    margin-bottom: 60px;
}

.ben-item {
    margin-bottom: 45px;
}

.ben-item__title {
    font-size: 24px;
    line-height: 150%;
    color: #2c2c2c;
}
.ben-item__text {
    font-size: 18px;
    line-height: 150%;
    color: #787878;
}
.about__numbs .ben-item__title {
    font-weight: 800;
    font-size: 54px;
    line-height: 125%;
    color: #85122b;
}
.about__numbs .ben-item__text {
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    color: #787878;
}

.about__action {
    margin-top: 40px;
}
.review-slide {
    background: #fff;
    box-shadow: none;
    border: 1px solid #eee;
    border-radius: 20px;
    padding: 20px;
}
.review__stars {
    margin-bottom: 14px;
}
.review-author {
    margin-bottom: 10px;
}
.review-author {
    display: flex;
    gap: 10px;
}
.review-avatar {
    flex-shrink: 0;
}
.review-avatar img {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 50%;
}
.review-name {
    font-weight: 600;
    font-size: 18px;
    line-height: 150%;
    color: #000;
}
.review-date {
    font-size: 14px;
    line-height: 150%;
    color: #8e8e8e;
}
.reviews-card__sub {
    font-size: 18px;
    line-height: 150%;
    color: #787878;
    margin: -30px 0 40px;
}
.review__stars img {
    width: 90px;
    height: 18px;
    object-fit: contain;
}
.reviews-card__action {
    margin-top: 20px;
}
.reviews-card__action a {
    max-width: 100%;
}
.program-item__image {
    margin-bottom: 20px;
}
.program-item__image a {
    display: block;
}
.program-item__image img {
    border-radius: 20px;
    height: 334px;
    object-fit: cover;
    object-position: top;
}
.program-item__title a {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    color: #2c2c2c;
}
.program-item__sub {
    font-size: 18px;
    line-height: 150%;
    color: #787878;
}
.photos-clinic img {
    border-radius: 20px;
}

.why__video {
    margin-bottom: 43px;
}
.why__text {
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    color: #787878;
}
.card_cta {
    position: relative;
}
.cta__sub {
    margin: -20px 0 20px;
    font-size: 18px;
    line-height: 150%;
    color: #787878;
}
.card_cta {
    background: var(--red);
    position: relative;
}
.cta__image {
    pointer-events: none;
    position: absolute;
    bottom: 0;
    right: -28px;
}
.cta__image img {
    width: 350px;
    height: auto;
}
.cta__content {
    position: relative;
    z-index: 2;
}
.author-header {
    margin-top: auto;
    padding-top: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}
.author-header__avatar {
    width: 36px;
    height: 36px;
    overflow: hidden;
    flex-shrink: 0;
    border-radius: 6px;
    background: var(--white-gray);
}
.author-header__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}
.author-header__name {
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    color: #787878;

    display: -webkit-box;            /* Включаем flex-контейнер с поддержкой вебкита */
      -webkit-box-orient: vertical;    /* Вертикальная ориентация контейнера */
      -webkit-line-clamp: 1;       
      overflow: hidden;       
      text-overflow: ellipsis;    
      white-space: normal;    
}
.author-header__post {
    display: none;
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    color: #787878;           
      -webkit-box-orient: vertical;    
      -webkit-line-clamp: 1;           
      overflow: hidden;           
      text-overflow: ellipsis;    
      white-space: normal;            
}
.news-item {
    border-radius: 20px;
    overflow: hidden;
    background: #f5f5f7;
}
.news-item__in {
    padding: 20px;
}
.news-item__in {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.last-posts .news-item {
    background: #fff;
}
.last-posts .row {
    margin: 0 -10px;
}
.last-posts .row .col-6,
.last-posts .row .col-4,
.last-posts .row .col-8 {
    padding: 0 10px;
}
.last-posts__header {
    border-radius: 25px;
    padding: 40px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    background: #fff;
}
.last-posts .row .col-6:nth-child(3),
.last-posts .row .col-6:nth-child(4) {
    margin-bottom: 0;
}

/* quiz */
.quiz__text {
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    color: #000;
    margin: -20px 0 0;
}
.quiz__content {
    background: linear-gradient(116deg, #9c6dff 0%, #6b25ff 100%);
    padding: 40px;
    color: #fff;
    border-radius: 25px;
}
.quiz-step__title {
    font-weight: 400;
    font-size: 24px;
    line-height: 150%;
    color: #fff;
    margin-bottom: 20px;
}
.quiz-step__answer {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;   
}
.quiz-item {
    display: inline-block;
    background: #fff;
    font-weight: 500;
    border: 1px solid #fff;
    border-radius: 15px;
    padding: 10px 30px;
    font-size: 18px;
    line-height: 150%;
    color: #222;
    cursor: pointer;
    transition: .3s;
}
.quiz-item:hover {
    transition: .3s;
}
/* Скрываем все шаги по умолчанию, кроме активного */
.quiz__step {
    display: none;
    animation: fadeIn 0.5s;
}
.quiz__step.active {
    display: block;
}

/* Анимация появления */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Лоадер для "обдумывания" */
.quiz__loading {
    text-align: center;
    padding: 20px 0;
}
.quiz-loader-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
    margin: 20px auto;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}
.quiz-form-wrapper .form-group label {
    display: block;
    margin-bottom: 8px;
}
.quiz-form-wrapper .form input[type="text"] {
    background: #fff;
    color: #222;
}
.quiz-item:hover {
    background: #fff;
    color: #064bab;
    transition: .3s;
}
.quiz .doc-icon-block {
    background: #f7ecef;
}
/* quiz */

/* ============================================================
   Каталог услуг (parts/services-list-lite.php)
   ============================================================ */
.services-catalog {
    margin: 0 0 60px;
}
.services-catalog .catalog-title h2 {
    margin: 0 0 24px;
}

.catalog-wrapper {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

/* --- Сайдбар --- */
.catalog-sidebar {
    width: 280px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.filter-group {
    border: 1px solid var(--stroke-white-gray);
    border-radius: 16px;
    padding: 20px;
    margin: 0;
}
.filter-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    font-weight: 500;
    color: var(--gray, #787878);
    cursor: pointer;
    user-select: none;
}
.filter-label svg {
    transition: transform .2s ease;
}
.filter-group.active .filter-label svg {
    transform: rotate(180deg);
}
.filter-options .checkbox-label {
    margin-bottom: 10px;
    font-size: 15px;
    color: var(--black, #2c2c2c);
}
.filter-options .checkbox-label:last-child { margin-bottom: 0; }
.sidebar-cta {
    margin-top: 4px;
}
.sidebar-cta .btn {
    width: 100%;
    text-align: center;
}

/* --- Контент --- */
.catalog-content {
    flex-grow: 1;
    min-width: 0;
    width: 100%;
}

/* Строка поиска */
.catalog-search {
    position: relative;
    display: flex;
    align-items: center;
    background: #f5f6fb;
    border-radius: 12px;
    padding: 2px 2px 2px 20px;
    margin-bottom: 24px;
    gap: 8px;
}
.catalog-search input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    padding: 14px 0;
    font-size: 15px;
    color: var(--black);
    outline: none;
    box-shadow: none;
}
.catalog-search input::placeholder {
    color: var(--gray, #999693);
}
.catalog-search__mic {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
}
.catalog-search__mic:hover { background: rgba(0,0,0,0.04); }
.catalog-search__mic.is-listening { background: rgba(241,59,45,0.12); }
.catalog-search__mic.is-listening svg path { stroke: var(--red); }
.catalog-search__btn {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background: var(--red);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
}
.catalog-search__btn:hover { background: #d83327; }

/* --- Сетка --- */
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 16px;
}
.services-grid.services-grid--children {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* --- Карточка --- */
.service-card {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    background: #f5f6fb;
    border-radius: 16px;
    padding: 16px;
    overflow: visible;
    min-height: 0;
    transition: transform .3s ease;
}
.service-card:hover {
    transform: translateY(-3px);
}
.service-img {
    position: relative;
    width: 100px;
    height: 100px;
    border-radius: 16px;
    overflow: hidden;
    background: #ebebeb;
    background-size: cover;
    background-position: center;
    margin: 0 0 18px;
    order: 0;
    flex: 0 0 auto;
}
.service-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.service-arrow,
.arrow-link {
    display: none !important;
}
.service-info .price {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 0 0 10px;
    padding: 5px 12px;
    border-radius: 100px;
    background: var(--red);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}
.service-info {
    padding: 0;
}
.service-meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--red);
    font-size: 14px;
    margin-bottom: 6px;
}
.service-meta svg { flex-shrink: 0; }
.service-info .service-card__title {
    display: block;
    margin: 0;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--black, #2c2c2c);
    text-decoration: none;
}
.service-info .service-card__title:hover { color: var(--red); }
.service-card__desc {
    font-size: 14px;
    line-height: 1.45;
    color: var(--gray, #787878);
    display: none;
}
.service-desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--gray, #787878);
}

/* --- Footer --- */
.load-more-container {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin: 32px auto 0;
}

@media (max-width: 991px) {
    .catalog-wrapper { flex-direction: column; }
    .catalog-sidebar { width: 100%; }
    .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .services-grid.services-grid--children { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .services-grid { grid-template-columns: 1fr; }
    .services-grid.services-grid--children { grid-template-columns: 1fr; }
}

/* Адаптив */
.mobile-filter-controls,
.mobile-filter-header {
    display: none;
}

/* Адаптив */

/* Общий контейнер */
.equip-section {
    background: #fff;
    border-radius: 20px; /* Скругление карточки */
    padding: 40px;
}

.equip-section h2 {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 30px;
    color: #111;
}

/* Навигация (кнопки) */
.equip-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 40px;
}

.equip-tab-btn {
    background: var(--white-gray);
    border: none;
    border-radius: 12px;
    padding: 12px 24px;
    font-size: 16px;
    color: #999;
    cursor: pointer;
    transition: all 0.3s ease;
}

.equip-tab-btn:hover {
    background: #e0e0e0;
}

.equip-tab-btn.active {
    background: radial-gradient(596.89% 141.42% at 0% 0%, #313242 0%, #545664 100%);
    color: #fff;
    font-weight: 400;
}

/* Контент айтемов */
.equip-tab-item {
    display: none; /* Скрываем все по умолчанию */
    animation: fadeIn 0.4s ease-in-out;
}

.equip-tab-item.active {
    display: block; /* Показываем активный */
}

/* Сетка контента */
.equip-info {
    padding-right: 30px;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}

.equip-specs {
    margin: 30px 0;
}

.equip-specs h3 {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 15px;
}

.spec-row {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 10px;
    padding-bottom: 5px;
}

.spec-label {
    color: #777;
    font-weight: 400;
}

.spec-value {
    font-weight: 400;
    color: #000;
    text-align: right;
}

/* Изображения справа */
.equip-visual {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.equip-main-image {
    flex: 2; /* Основная картинка занимает больше места */
    background: #f9f9f9;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.equip-main-image img {
    max-width: 100%;
    height: auto;
    max-height: 500px;
    display: block;
    object-fit: contain;
}

.equip-thumbnails {
    flex: 1; /* Колонка с миниатюрами */
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.thumb-item {
    background: #f9f9f9;
    border-radius: 15px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.thumb-item img {
    max-width: 100%;
    height: auto;
}

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

/* Адаптив */
.cta__content h2 {
    color: #fff;
    margin-bottom: 20px;
}
.cta__sub {
    font-weight: 500;
    color: #fff;
}
.cta__action .btn {
    background: #fff;
    color: #222;
}
.gallery-item a {
    display: block;
}
.gallery-item img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 20px;
}
.card__cta-sub h2 {
    font-size: 34px;
}
.review-item__text {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    -webkit-box-orient: vertical;
    font-weight: 500;
    line-height: 1.4;
    color: #616161;
    margin-bottom: 40px;
}
.reviews-slider .swiper-slide {
    height: auto;
}
.reviews-slider .review-slide {
    height: 100%;
}
.review-item__bottom {
    display: flex;
    align-items: center;
    margin-top: auto;
}
.review-item__source {
    margin-left: auto;
}
.review-item__show-more a {
    color: #904d30;
    font-weight: 500;
}
.review-item__source {
    width: 80px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.review-item__source img {
    width: 80px;
}
.review-slide {
    display: flex;
    flex-direction: column;
}
.team-item__image .spec-page__reviews {
    position: absolute;
    bottom: 14px;
    right: 14px;
    background: rgb(255 255 255 / 70%);
    backdrop-filter: blur(5px);
    padding: 4px 12px;
    z-index: 2;
    margin: 0;
    width: fit-content;
    border-radius: 100px;
}
.spec-page__reviews {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 20px;
    font-weight: 500;
}
.reviews-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}
.reviews-card__title-sub .reviews-card__sub {
    margin-bottom: 0;
    max-width: 600px;
}
.card_row.row {
    margin: 0 -10px;
}
.card_row.row .col-4,
.card_row.row .col-8,
.card_row.row .col-6 {
    padding: 0 10px;
}
.author-header {
    border-top: 1px solid #eee;
}
.reviews-row.auto-h {
    margin: 0 -10px;
}
.reviews-row.auto-h .col-4 {
    padding: 0 10px;
}
.card__logo img {
    width: 179px;
    height: 46px;
    object-fit: contain;
}
.card__logo {
    margin-bottom: 30px;
}
.header__nav > .menu > li > a {
    white-space: nowrap;
}
.article-list__reviews {
    display: flex;
    gap: 12px;
    align-items: center;
}

.page-template-contacts .card__contacts-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px 70px;
    border-radius: 20px;
    background: #fff;
}
.page-template-contacts .contact-item_phone {
    font-size: 30px;
}
.page-template-contacts .map-frame iframe {
    height: 500px !important;
}
.service-tab__nav {
    overflow: hidden;
    overflow-x: auto;
}
.header__nav > .menu > li > a:hover {
    color: var(--red);
    transition: .3s;
}
.footer-list a:hover {
    transition: .3s;
    color: var(--red);
}
.footer__address {
    margin-bottom: 20px;
}
.prices-table table td.service-name:last-child {
    text-align: left;
}

.block__img img {
    border-radius: 20px;
}

.cookie-notification {
    position: fixed;
    bottom: 10px;
    left: 0;
    right: 0;
    background-color: #fff;
    color: #222;
    font-weight: 500;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 9999999999;
    border-radius: 8px;
    max-width: 800px;
    margin: 0 auto;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
}

.cookie-notification p {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    max-width: 80%;
}

.cookie-notification a {
    color: var(--red);
}

.cookie-notification button {
    background-color: var(--red);
    color: white;
    border: none;
    padding: 8px 15px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s;
}

.cookie-notification button:hover {
    background-color: #45a049;
}

.case-item__video a {
    position: relative;
    display: block;
}
.case-item__video-btn {
    position: absolute;
    bottom: 20px;
    left: 20px;
}
.footer__bottom-in {
    padding-bottom: 20px;
}
.footer__bottom-text {
    color: #666;
    font-size: 12px;
    padding-bottom: 20px;
}

.form-group__terms {
    font-size: 13px;
    color: #666;
}
.form-group__terms p {
    margin-bottom: 12px;
}
.form-group__terms a {
    text-decoration: underline;
}

.form-group__terms input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  flex-shrink: 0;
  top: -2px;
  width: 20px;
  height: 20px;
  border: 1.5px solid #222;
  border-radius: 4px;
  position: relative;
  cursor: pointer;
  outline: none;
  margin-right: 10px; 
  background-color: transparent; 
  vertical-align: middle;
  display: inline-block;
}

.form-group__terms input[type="checkbox"]:hover {
  opacity: 0.8;
}

.form-group__terms input[type="checkbox"]::after {
  content: '';
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 5px;
  height: 10px;
  border-right: 2px solid #222;
  border-bottom: 2px solid #222;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.form-group__terms input[type="checkbox"]:checked::after {
  opacity: 1;
}

.form-group__terms label {
  display: flex;
  align-items: flex-start;
  gap: 0;
  color: #222;
}

.header__nav > ul {
    display: flex;
    align-items: center;
    gap: 28px;
}

.header__nav > ul > li {
    position: relative;
    padding: 12px 0px;
}

/* 1. Главный контейнер (первый уровень выпадашки) */
.header__nav > ul > li > ul {
    display: none;
    position: absolute;
    top: 100%; /* Под шапкой */
    left: -23px;
    background: #fff;
    width: 350px;
    padding: 12px 0;
    border-radius: 10px;
    z-index: 3;
    box-shadow: 2px 2px 10px rgba(0,0,0,.1);
}
.header__nav > ul > li.mega-menu > ul {
    min-height: 400px;
}

/* 2. Убираем position: relative у LI */
/* Это заставит sub-menu позиционироваться относительно первого UL, а не строки */

.header__nav {
    position: relative;
}

.header__nav ul li.mega-menu {
    position: static !important; 
    list-style: none;
}

/* Но оставляем relative у самого верхнего элемента навигации, чтобы меню не улетело в край экрана */
.header__nav > ul > li {
    position: relative;
}

/* 3. Общие стили для всех вложенных меню (2-й и 3-й уровни) */
.header__nav .sub-menu .sub-menu {
    display: none;
    position: absolute;
    top: 0; /* ВЫРАВНИВАНИЕ ПО ВЕРХНЕМУ КРАЮ первого меню */
    background: #fff;
    width: 350px;
    min-height: 100%; /* Чтобы высота была не меньше родителя */
    box-shadow: 2px 2px 10px rgba(0, 0, 0, .1);
    border-radius: 10px;
    padding: 12px 0;
    z-index: 4;
}

/* Позиционирование 2-го уровня */
.header__nav > ul > li > .sub-menu > li > .sub-menu {
    left: 350px; /* Смещение вправо на ширину первого блока */
}

/* Позиционирование 3-го уровня (вкладка 3) */
.header__nav > ul > li > .sub-menu > li > .sub-menu > li > .sub-menu {
    left: 350px; /* Еще на 350px вправо от второго блока */
    display: none;
}

/* 4. Логика появления при ховере */
.header__nav ul li:hover > .sub-menu {
    display: block;
}

/* 5. Оформление ссылок (ваши стили) */
.header__nav ul.sub-menu li a {
    font-size: 16px;
    line-height: 18px;
    font-weight: 500;
    display: block;
    padding: 12px 24px;
    color: #000;
    text-decoration: none;
}

.header__nav ul.sub-menu li:hover > a {
    background-color: #f8f8f8; /* Подсветка активной линии */
}

/* Иконки стрелочек (ваши стили) */
.header__nav .menu-item-has-children > a:after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 18a1 1 0 0 1-.71-.29l-10-10a1 1 0 0 1 1.42-1.42l9.29 9.3 9.29-9.3a1 1 0 1 1 1.42 1.42l-10 10A1 1 0 0 1 12 18z' fill='%23655b96'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 8px;
    vertical-align: middle;
}

/* Разворот стрелки для вложенных меню (вправо) */
.header__nav .sub-menu .menu-item-has-children > a:after {
    transform: rotate(-90deg);
}
.header__nav .sub-menu .sub-menu li:hover > .sub-menu {
    display: block;
    /* Так как родительский sub-menu уже имеет left: 350px, 
       внутренний sub-menu тоже получит left: 350px относительно него */
}

/* Обновленный блок контактов (по макету) */
.updated-contacts.card {
    background: #ffffff !important; /* Убираем бежевый фон */
    padding: 0;
    overflow: hidden; /* Чтобы карта не вылезала за скругления */
}
.updated-contacts .card_contacts__in {
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}
.updated-contacts h2 {
    margin-bottom: 30px;
    font-size: 40px;
    color: #1a1a1a;
}
.contact-info-main {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.contact-phone {
    font-size: 28px;
    font-weight: 600;
    color: var(--red);
    text-decoration: none;
    transition: color 0.3s ease;
    margin-bottom: 4px;
}
.contact-phone:hover {
    color: var(--red);
}
.contact-email,
.contact-address {
    font-size: 18px;
    color: #555555;
    text-decoration: none;
    line-height: 1.5;
}
.contact-email:hover {
    color: var(--red);
}

/* Линия-разделитель */
.contact-divider {
    border: none;
    border-top: 1px solid #F0F3F5;
    margin: 40px 0;
    width: 100%;
}

/* Социальные сети */
.contact-socials {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
}
.social-btn {
    width: 46px;
    height: 46px;
    border: 1.5px solid #F0F3F5;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--red); /* Золотой цвет иконок */
    transition: all 0.3s ease;
}
.social-btn svg {
    width: 24px;
    height: 24px;
}
/* Эффект при наведении на соцсети */
.social-btn:hover {
    border-color: var(--red);
    background: var(--red);
    color: #ffffff; /* Иконка становится белой на золотом фоне */
    transform: translateY(-2px);
}

.updated-contacts .card__contacts-text {
    font-size: 16px;
    color: #787878;
    margin: 0;
    max-width: 90%;
    line-height: 1.5;
}

/* Адаптив для мобильных устройств */

/* --- Карточка специалиста --- */
.team-item {
    background: #ffffff;
    border-radius: 16px;
    padding: 4px;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02); /* Легкая тень для объема */
}

/* Блок с изображением */
.team-item__image {
    position: relative;
    background: #ebebeb; /* Светло-серый фон как на макете */
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
    height: 340px; /* Фиксируем высоту фото */
}

.team-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.3s ease;
}

.team-item:hover .team-item__image img {
    transform: scale(1.03);
}

/* Иконка видео */
.team-item__video-btn {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
}
.team-item__video-btn svg {
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    transition: transform 0.3s ease;
}
.team-item__video-btn a:hover svg {
    transform: scale(1.05);
}

/* Плашка с отзывами */
.spec-page__reviews {
    position: absolute;
    bottom: 12px;
    left: 12px;
    margin: 0;
    background: #ffffff;
    padding: 6px 12px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #2c2c2c;
    z-index: 3;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.spec-page__reviews a {
    color: #616161;
    text-decoration: none;
}
.reviews-divider {
    color: #d1d1d1;
    margin: 0 2px;
}

/* Контентная часть (текст и кнопки) */
.team-item__content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 0 16px;
}
.team-item__content .team-item__btn {
    margin-left: -16px;
    margin-right: 16px;
    width: calc(100% + 32px);
}

.team-item__title {
    margin: 0 0 6px 0;
}

.team-item__title a {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #1a1a1a;
    text-decoration: none;
}

.team-item__post {
    font-size: 14px;
    line-height: 1.4;
    color: #787878;
    margin-bottom: 24px;
    flex-grow: 1; /* Этот хак прижимает блок со стажем и кнопку к низу, если имена разной длины */
}

/* Блок характеристик: Стаж и Цена */
.team-item__stats {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.team-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.team-stat__label {
    font-size: 13px;
    color: #a0a0a0;
}

.team-stat__val {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
}

/* Кнопка записи */
.team-item__btn {
    display: block;
    width: 100%;
    background: var(--red);
    color: #fff;
    text-align: center;
    padding: 14px 0;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.3s ease;
}

.team-item__btn:hover {
    background: var(--red);
    color: #fff;
}
.specs {
    margin-top: 60px;
    margin-bottom: 80px;
}
.team-slider-block .swiper-slide {
    height: auto;
}
.specs-list.row {
    margin: 0 -5px;
}
.specs-list.row .col-3 {
    padding: 0 5px;
}
.spec-page__review {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 20px;
}

.table-of-contents-wrapper {
    position: relative;
}

.table-of-contents-wrapper.collapsed .article-list {
    max-height: 128px; /* ~6 Ð¿ÑƒÐ½ÐºÑ‚Ð¾Ð² Ð¿Ð¾ 40px */
    overflow: hidden;
}

.table-of-contents-wrapper.collapsed .toc-gradient {
    display: block;
}

.table-of-contents-wrapper.collapsed .toc-toggle {
    display: block;
}

.toc-gradient {
    display: none;
    position: absolute;
    bottom: 25px;
    left: 0;
    right: 0;
    height: 100px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    pointer-events: none;
}

.toc-toggle {
    border: none;
    color: var(--red);
    display: none;
    width: 100%;
    padding: 10px;
    font-size: 20px;
    margin-top: 10px;
    background: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
}

.toc-toggle:hover {
    background: transparent;
}
.service-toc {
    margin: 0 0 60px;
}
.service-toc .table-of-contents-wrapper {
    position: relative;
}
.service-toc .article-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    grid-template-columns: none;
    grid-template-rows: none;
    padding: 0;
    margin: 0;
    list-style: none;
}
.service-toc .article-list li {
    padding-left: 0;
    margin-bottom: 0;
}
.service-toc .article-list li[hidden] {
    display: none !important;
}
.service-toc .article-list li::before {
    display: none;
}
.service-toc .article-list li a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    height: auto;
    padding: 14px 16px;
    border-radius: 8px;
    background: #fff;
    color: #150101;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 500;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.service-toc .article-list li a:hover {
    border-color: rgba(242, 59, 45, 0.3);
    background: #fff;
    color: var(--red);
}
.service-toc .article-list__reviews svg {
    flex: 0 0 auto;
    width: 15px;
    height: 14px;
}
.service-toc .table-of-contents-wrapper.collapsed .article-list {
    max-height: 52px;
    overflow: hidden;
}
.service-toc .toc-gradient {
    bottom: 38px;
    height: 44px;
    background: linear-gradient(to bottom, rgba(247,247,247,0) 0%, rgba(247,247,247,1) 100%);
}
.service-toc .toc-toggle {
    width: auto;
    margin-top: 12px;
    padding: 0;
    background: transparent;
    color: var(--red);
    font-size: 15px;
    line-height: 1.2;
}
.service-toc .toc-toggle:hover {
    background: transparent;
    color: var(--black);
}
@media (max-width: 600px) {
    .service-toc {
        margin-bottom: 20px;
    }
    .service-toc .article-list {
        flex-direction: row;
        gap: 6px;
    }
    .service-toc .article-list li a {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 14px;
    }
    .service-toc .table-of-contents-wrapper.collapsed .article-list {
        max-height: 170px;
    }
}
.in-text-block.card {
    padding: 0;
    background: transparent;
    margin-bottom: 60px;
}
/* --- Скрываемый текстовый блок --- */
.seo-expandable-wrap {
    position: relative;
    margin-bottom: 40px;
}

.seo-expandable-content {
    position: relative;
    max-height: 240px; /* Высота в свернутом виде */
    overflow: hidden;
    transition: max-height 0.4s ease;
}

/* Белый градиент поверх текста (полупрозрачность) */
.seo-expandable-content::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 70px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 100%); /* Цвет фона сайта #F3F3F3 */
    pointer-events: none;
    transition: opacity 0.3s ease;
}

/* Состояния, когда градиент нужно убрать */
.seo-expandable-wrap.is-expanded .seo-expandable-content::after,
.seo-expandable-wrap.is-fully-visible .seo-expandable-content::after {
    opacity: 0;
}

/* Кнопка "Развернуть / Свернуть" */
.seo-expandable-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--red);
    background: transparent;
    border: none;
    padding: 0;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    margin-top: 15px;
    outline: none;
}

/* Анимация переворота стрелочки */
.seo-expandable-btn svg {
    transition: transform 0.3s ease;
}

.seo-expandable-wrap.is-expanded .seo-expandable-btn svg {
    transform: rotate(180deg);
}
.m-24 {
    margin-bottom: 24px;
}

/* --- Панель Автора + SEO --- */

/* --- Внутренний блок автора --- */
.post-author-box {
    display: flex;
    align-items: center;
    gap: 20px;
}

.post-author-box__avatar {
    width: 80px; /* Размер квадратной аватарки */
    height: 80px;
    flex-shrink: 0;
}

.post-author-box__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px; /* Скругленные углы квадрата */
}

.post-author-box__info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px; /* Отступы между строками текста */
}

.post-author-box__name {
    font-weight: 700;
    font-size: 18px;
    line-height: 120%;
    color: #000;
    margin-bottom: 2px;
}

.post-author-box__role,
.post-author-box__spec {
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    color: #747474; /* Серый цвет из макета */
}

/* --- Фиолетовая линия --- */
.post-author-divider {
    height: 1px;
    background-color: #8046FF; /* Фирменный фиолетовый */
    width: 100%;
    max-width: 450px; /* Линия не на всю ширину блока, как на скриншоте */
    margin: 30px 0; /* Отступы: сверху от автора, снизу до SEO-текста */
}

/* --- Адаптивность --- */

.doc-icon-block {
    width: fit-content;
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 2px 16px 2px 2px;
    border-radius: 1000px;
    background: #fff;
    color: var(--red);
    margin-bottom: 24px;
}
.hero-slider {
    opacity: 0;
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    height: 280px;
}
.hero-slider.swiper-initialized {
    opacity: 1;
    height: auto;
}
.hero-slider .swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}

/* Шапка модалки */
.modal-header-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.modal-back-btn { background: none; border: none; font-size: 16px; color: #888; cursor: pointer; display: flex; align-items: center; gap: 5px; padding: 0; }
.modal-back-btn:hover { color: #85122b; }
.step-modal .modal-title { font-size: 24px; font-weight: 700; margin-bottom: 20px; color: #111; }

/* Карточки врачей */
.doctors-list-modal { display: flex; flex-direction: column; gap: 15px; max-height: 60vh; overflow-y: auto; padding-right: 10px; }
.doctor-card-modal { display: flex; gap: 15px; padding: 15px; border: 1px solid #eaeaea; border-radius: 12px; cursor: pointer; transition: 0.2s; background: #fff; }
.doctor-card-modal:hover { border-color: #85122b;}
.doc-avatar img {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    object-fit: cover;
    object-position: top;
}
.doc-rating { font-size: 12px; color: #F2C94C; font-weight: bold; margin-bottom: 5px; }
.doc-name { font-size: 16px; font-weight: 700; color: #111; margin-bottom: 5px; }
.doc-post { font-size: 13px; color: #666; line-height: 1.3; }

/* Календарь и время */
.step-doctor-selected, .step-datetime-selected { background: #f4f5f7; padding: 12px; border-radius: 8px; margin-bottom: 20px; font-size: 14px; color: #333; }
.aw-dates-wrapper { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.aw-dates-scroll { display: flex; gap: 8px; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; flex: 1; padding: 5px 0;}
.aw-dates-scroll::-webkit-scrollbar { display: none; }
.aw-date-item { min-width: 54px; height: 60px; border: 1px solid #eaeaea; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; transition: 0.2s; user-select: none; }
.aw-date-item .aw-day-num { font-size: 16px; font-weight: 600; color: #111; }
.aw-date-item .aw-day-week { font-size: 12px; color: #888; }
.aw-date-item.active { background-color: #85122b; border-color: #85122b; box-shadow: 0 0 0 3px rgba(222, 175, 110, 0.2); }
.aw-date-item.active .aw-day-num, .aw-date-item.active .aw-day-week { color: #fff; }
.aw-nav-btn { background: #f4f5f7; border: none; border-radius: 8px; width: 40px; height: 60px; cursor: pointer; font-size: 20px; color: #666; }
.aw-times-wrapper { display: flex; flex-wrap: wrap; gap: 10px; }
.aw-time-item { border: 1px solid #eaeaea; border-radius: 8px; padding: 10px 18px; cursor: pointer; transition: 0.2s; }
.aw-time-item:hover { border-color: #85122b; }
.aw-time-item.active { background-color: #85122b; border-color: #85122b; color: #fff; box-shadow: 0 0 0 3px rgba(20, 168, 0, 0.2); }

/* Форма */
.step-select, .step-input { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 15px; font-family: inherit; }
.step-select:focus, .step-input:focus { border-color: #85122b; outline: none; }

.plus-block {
    background: #f0f3f5;
    padding: 28px;
    border-radius: 16px;
    margin-bottom: 20px;
}
.minus-block {
    background: #fcf2f2;
    padding: 28px;
    border-radius: 16px;
}
.text-block.plus-block ul li,
.text-block.minus-block ul li {
    padding-left: 28px;
}
.text-block.plus-block ul li:before {
    content: '';
    top: 3px;
    background: transparent;
    width: 20px;
    height: 20px;
    background-size: 20px;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='20' height='20' rx='10' fill='%235EB6CC' fill-opacity='0.24'/%3E%3Crect x='1' y='1' width='18' height='18' rx='9' fill='%23F0F3F5'/%3E%3Cpath d='M10 2.5C5.8675 2.5 2.5 5.8675 2.5 10C2.5 14.1325 5.8675 17.5 10 17.5C14.1325 17.5 17.5 14.1325 17.5 10C17.5 5.8675 14.1325 2.5 10 2.5ZM13.585 8.275L9.3325 12.5275C9.2275 12.6325 9.085 12.6925 8.935 12.6925C8.785 12.6925 8.6425 12.6325 8.5375 12.5275L6.415 10.405C6.1975 10.1875 6.1975 9.8275 6.415 9.61C6.6325 9.3925 6.9925 9.3925 7.21 9.61L8.935 11.335L12.79 7.48C13.0075 7.2625 13.3675 7.2625 13.585 7.48C13.8025 7.6975 13.8025 8.05 13.585 8.275Z' fill='%235EB6CC'/%3E%3C/svg%3E%0A");
}

.text-block.minus-block ul li:before {
    content: '';
    top: 3px;
    background: transparent;
    width: 20px;
    height: 20px;
    background-size: 20px;
    background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='22' height='22' rx='11' fill='%23F64D4D' fill-opacity='0.24'/%3E%3Crect x='1' y='1' width='20' height='20' rx='10' fill='%23F0F3F5'/%3E%3Cpath d='M10.9998 2.66602C6.40817 2.66602 2.6665 6.40768 2.6665 10.9993C2.6665 15.591 6.40817 19.3327 10.9998 19.3327C15.5915 19.3327 19.3332 15.591 19.3332 10.9993C19.3332 6.40768 15.5915 2.66602 10.9998 2.66602ZM13.7998 12.916C14.0415 13.1577 14.0415 13.5577 13.7998 13.7993C13.6748 13.9243 13.5165 13.9827 13.3582 13.9827C13.1998 13.9827 13.0415 13.9243 12.9165 13.7993L10.9998 11.8827L9.08317 13.7993C8.95817 13.9243 8.79984 13.9827 8.6415 13.9827C8.48317 13.9827 8.32484 13.9243 8.19984 13.7993C7.95817 13.5577 7.95817 13.1577 8.19984 12.916L10.1165 10.9993L8.19984 9.08268C7.95817 8.84102 7.95817 8.44102 8.19984 8.19935C8.4415 7.95768 8.8415 7.95768 9.08317 8.19935L10.9998 10.116L12.9165 8.19935C13.1582 7.95768 13.5582 7.95768 13.7998 8.19935C14.0415 8.44102 14.0415 8.84102 13.7998 9.08268L11.8832 10.9993L13.7998 12.916Z' fill='%23F64D4D'/%3E%3C/svg%3E%0A");
}

.header__middle {
    position: relative;
}

/* 2. Обертка поиска */
.search-form-wrapper {
    position: absolute;
    top: 50%;       /* Центрируем по вертикали */
    right: -2px;       /* Прижимаем к правому краю МЕНЮ, а не экрана */
    transform: translateY(-50%); /* Доводка центровки */
    z-index: 100;   /* Поверх меню */
    
    /* Анимация */
    width: 0; 
    opacity: 1;
    visibility: hidden;
    overflow: hidden; /* Скрываем содержимое пока ширина 0 */
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    
    /* Размеры */
    height: 50px;
    max-width: 620px; /* Максимальная ширина как в макете */
    box-sizing: border-box;
}
.search-form-wrapper .search-form {
    height: 100%;
}
/* Состояние открытия */
.search-form-wrapper.active {
    width: 100%; /* Раскрываемся на всю ширину родителя (.header__nav), но не больше max-width */
    opacity: 1;
    visibility: visible;
    overflow: visible;
}

/* Сама форма (стиль рамки) */
.search-form__inner {
    display: flex;
    align-items: center;
    width: 100%; /* Занимает всю ширину обертки */
    height: 100%;
    border: 1px solid #f0f3f5;
    background: #f0f3f5;
    border-radius: 10px;
    padding: 0 5px 0 15px; /* Внутренние отступы */
    box-sizing: border-box;
}

/* --- Внутренности формы (без изменений) --- */
.header__search-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    padding: 10px 86px 10px 24px;
    gap: 9px;
    background: #f4f7fb;
}
.header__search-btn a svg {
    flex-shrink: 0;
}
.search-form__icon {
    flex-shrink: 0;
    margin-right: 10px;
    display: flex;
    align-items: center;
}

.search-form__input {
    flex-grow: 1;
    border: none;
    outline: none;
    font-size: 16px;
    color: #333;
    background: transparent;
    height: 100%;
    min-width: 0; /* Фикс для flexbox */
}

.search-form__input::placeholder {
    color: #535F70;
    opacity: 0.7;
}

.search-form__actions {
    display: flex;
    align-items: center;
    flex-shrink: 0; /* Чтобы кнопку не сплющило */
}

.search-form__close {
    cursor: pointer;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 5px;
    opacity: 0.6;
    transition: opacity 0.2s;
}
.search-form__close:hover { opacity: 1; }

.search-form__btn {
    background: var(--red);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 0 25px;
    height: 36px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap; /* Чтобы текст не переносился */
}
.search-form__btn:hover { 
    background: #b5884a; 
}

/* Мобильная адаптация */

.bottom-panel {
    display: none;
    position: fixed;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: 10;
    overflow-x: auto;
    /* добавьте эти свойства для лучшей прокрутки */
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    padding-bottom: env(safe-area-inset-bottom); 
    background: #fff;
}
.bottom-panel__in {
    /* удалите фиксированную ширину и используйте width: 100% */
    width: auto;
    padding: 6px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 10;
    overflow-x: auto;
    background: rgb(255, 255, 255);
    gap: 20px;
    border-top: 1px solid #e5eafe;
}
.bottom-panel__in > * {
    flex: 0 0 auto; /* предотвращает сжатие элементов */
}
.bottom-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 1;
    text-align: center;
}
.bottom-item__title {
    font-size: 14px;
    line-height: 1.1;
    font-weight: 500;
    color: #222;
}
.bottom-item__icon svg {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
}

/* --- АДАПТИВ ТАБЛИЦЫ ЦЕН ДЛЯ МОБИЛЬНЫХ --- */

/* Выравниваем текст и иконку-стрелку в фильтрах */
.filter-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
    transition: color 0.3s ease;
}

.filter-label:hover {
    color: var(--red);
}

.filter-label svg {
    transition: transform 0.3s ease; /* Плавный поворот */
    flex-shrink: 0;
}

/* Переворачиваем стрелку, если блок активен (раскрыт) */
.filter-group.active .filter-label svg {
    transform: rotate(180deg);
}

/* Убираем прыжки контента при анимации */
.filter-options {
    padding-top: 10px;
}
/* ============================================================
   Contacts page — компактная шапка (как telos), акцент бренда --red
   ============================================================ */
.contacts-page {
    overflow: visible;
}
.contacts-page h1.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.contacts-page .contacts-card {
    padding: 12px;
    margin: 0;
    background: #fff;
    border: 0;
    border-radius: 16px;
    overflow: hidden;
}
.contacts-page .contacts-card__top {
    display: grid;
    grid-template-columns: minmax(280px, 480px) minmax(0, 1fr);
    gap: 28px;
    min-height: 320px;
}
.contacts-page .contacts-card__media {
    height: 320px;
    overflow: hidden;
    border-radius: 12px;
    background: #ebebeb;
}
.contacts-page .contacts-main-img {
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
    display: block;
}
.contacts-page .contacts-card__details {
    min-width: 0;
    min-height: 320px;
    padding: 20px 20px 16px 0;
    display: flex;
    flex-direction: column;
}
.contacts-page .contacts-address {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.contacts-page .contacts-address__icon {
    width: 40px;
    height: 48px;
    flex: 0 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--red);
    border-radius: 10px;
}
.contacts-page .contacts-address__content {
    min-width: 0;
}
.contacts-page .contacts-metros {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-bottom: 6px;
}
.contacts-page .contacts-metro {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--gray);
    font-size: 14px;
    line-height: 1.3;
}
.contacts-page .contacts-metro__mark {
    width: 16px;
    height: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 16px;
}
.contacts-page .contacts-address__value {
    color: var(--black);
    font-size: 22px;
    line-height: 1.3;
    font-weight: 600;
}
.contacts-page .contacts-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 40px;
    margin-top: 22px;
}
.contacts-page .contacts-info-item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.contacts-page .contacts-info-item__label {
    color: var(--red);
    font-size: 14px;
    line-height: 1.3;
    font-weight: 500;
}
.contacts-page .contacts-info-item__value {
    color: var(--black);
    font-size: 17px;
    line-height: 1.35;
    font-weight: 600;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.contacts-page a.contacts-info-item__value:hover {
    color: var(--red);
}
.contacts-page .contacts-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    padding-top: 20px;
}
.contacts-page .contacts-social-link,
.contacts-page .contacts-tour-link {
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 10px;
    transition: color .2s ease, background-color .2s ease, transform .2s ease;
    text-decoration: none;
}
.contacts-page .contacts-social-link {
    width: 44px;
    color: #fff;
    background: var(--red);
}
.contacts-page .contacts-social-link:hover {
    color: #fff;
    background: #d83327;
    transform: translateY(-1px);
}
.contacts-page .contacts-tour-link {
    min-width: 120px;
    padding: 0 18px;
    color: #fff;
    background: var(--black);
    font-size: 15px;
    line-height: 1.3;
    font-weight: 600;
}
.contacts-page .contacts-tour-link:hover {
    color: #fff;
    background: #2a1a1a;
}
.contacts-page .contacts-route-panel {
    margin-top: 12px;
    padding: 18px 20px;
    background: #f4f5f9;
    border-radius: 12px;
}
.contacts-page .contacts-route-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.contacts-page .contacts-route-panel__header h2 {
    margin: 0;
    color: var(--black);
    font-size: 20px;
    line-height: 1.3;
    font-weight: 600;
    text-transform: none;
}
.contacts-page .route-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
}
.contacts-page .route-btn {
    min-width: 0;
    height: 46px;
    padding: 0 16px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--black);
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
}
.contacts-page .route-btn:hover {
    color: var(--black);
    background: var(--white-gray);
    border-color: #e2e2e2;
}
.contacts-page .route-btn__icon {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
}
.contacts-page .contacts-map-bottom {
    padding: 0;
    margin-top: 20px;
    overflow: hidden;
    border: 0;
    border-radius: 16px;
}
.contacts-page .contacts-map-bottom .map-frame {
    width: 100%;
    height: 480px;
}
.contacts-page .contacts-map-bottom iframe {
    width: 100% !important;
    height: 100% !important;
    display: block;
    border: 0;
    border-radius: 0;
}
.contacts-page .contacts-page__content {
    margin-top: 28px;
}

/* front-page / shared route buttons (parts/contact-route-buttons) */
.contact-route-actions {
    background: #fcfcfc;
    border: 1px solid #F0F3F5;
    border-radius: 16px;
    padding: 24px;
    margin-top: 24px;
}
.contact-route-actions h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 16px 0;
    color: #1a1a1a;
}
.contact-route-actions__buttons {
    display: flex;
    gap: 12px;
}
.contact-route-action {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    flex: 1;
}
.contact-route-action--map {
    background: #fff;
    border: 1px solid #eee;
    color: #222;
}
.contact-route-action--map:hover {
    background: #5EB6CC;
    color: #ffffff;
}
.contact-route-action--taxi {
    background: #fff;
    border: 1px solid #eee;
    color: #1a1a1a;
}
.contact-route-action--taxi:hover {
    background: #E6B800;
}

@media (max-width: 991px) {
    .contacts-page .contacts-card__top {
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 16px;
    }
    .contacts-page .contacts-card__media {
        height: 240px;
    }
    .contacts-page .contacts-card__details {
        min-height: 0;
        padding: 4px 4px 8px;
    }
    .contacts-page .contacts-info-grid {
        gap: 14px 20px;
        margin-top: 18px;
    }
    .contacts-page .contacts-address__value {
        font-size: 18px;
    }
    .contacts-page .contacts-map-bottom .map-frame {
        height: 360px;
    }
}
@media (max-width: 575px) {
    .contacts-page .contacts-info-grid {
        grid-template-columns: 1fr;
    }
    .contacts-page .contacts-route-panel__header {
        align-items: flex-start;
        flex-direction: column;
    }
    .contacts-page .route-buttons {
        width: 100%;
    }
    .contacts-page .route-btn {
        flex: 1 1 auto;
        justify-content: center;
    }
    .contact-route-actions__buttons {
        flex-direction: column;
    }
}

.service-stats {
    margin-bottom: 32px;
    overflow: hidden;
}

/* Карточка Автора */
.article-author-card {
    margin-bottom: 40px;
}
.article-author-card .doc-icon-block {
    color: #5eb6cc;
    background: rgba(94, 182, 204, 0.12);
}
.article-author-card h3 {
    margin: 0 0 16px 0;
    font-size: 20px;
}
.article-author-card__in {
    display: flex;
    align-items: center;
    gap: 15px;
}
.author-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}
.author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}
.author-info {
    display: flex;
    flex-direction: column;
}
.author-name {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.3s;
}
.author-name:hover {
    color: var(--red);
}
.author-post {
    font-size: 13px;
    color: #787878;
    margin-top: 4px;
}

.slider-arrow {
    cursor: pointer;
}

/* Кнопка микрофона */
.header__mic-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #E5EAF0;
    background: #fff;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
}
.header__mic-btn:hover {
    background: #e8ecf2;
}

/* Состояние записи */
.header__mic-btn.is-listening {
    background: var(--red);
    animation: pulseMic 1.5s infinite;
}
.header__mic-btn.is-listening svg path {
    stroke: #ffffff; /* Делаем иконку белой при записи */
}

@keyframes pulseMic {
    0% { transform: scale(1); }
    50% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

/* Исправленная обертка поиска */
.search-form-wrapper {
    position: absolute;
    top: 50%;
    right: 0; /* Прижимаем к правому краю */
    transform: translateY(-50%);
    z-index: 100;
    width: 0; 
    opacity: 1;
    visibility: hidden;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    height: 50px;
    box-sizing: border-box;
}

/* ШИРИНА РАСКРЫТОГО ПОИСКА */
.search-form-wrapper.active {
    width: 480px; /* Фиксированная широкая форма вместо 100% */
    opacity: 1;
    visibility: visible;
    overflow: visible;
}

.m-20 {
    margin-bottom: 20px;
}

.features-card .slider-arrow, 
.features-card .swiper-arrow, 
.features-card .swiper-button-prev, .swiper-button-next {
    background: #fff;
}

.service-tabs {
    background: var(--white-gray);
    padding: 28px;
    border-radius: 16px;
}

.text-block img.emoji {
    width: 14px !important;
    height: 14px !important;
}

/* 33524 */

/* --- СТРАНИЦА АКЦИЙ --- */

/* Базовые стили карточки */
.sale-card {
    display: flex;
    flex-direction: column;
    background: #ffffff; 
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.sale-card:hover {
    box-shadow: 0 12px 24px rgba(0,0,0,0.06);
}

/* Блок картинки */
.sale-card__img {
    position: relative;
    height: 240px;
    width: 100%;
    flex-shrink: 0;
    overflow: hidden; /* Важно для zoom эффекта картинки */
}

.sale-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    border-radius: 20px;
}

/* Плашка времени поверх картинки с индикатором */
.sale-card__badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: #ffffff;
    padding: 6px 14px 6px 10px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 500;
    color: #787878;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    z-index: 2;
}

/* Контент карточки */
.sale-card__content {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.sale-card__title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: #1a1a1a;
    margin-bottom: 12px;
    transition: color 0.3s ease;
}

.sale-card:hover .sale-card__title {
    color: var(--red);
}

.sale-card__short {
    font-size: 15px;
    line-height: 1.4;
    color: #787878;
    margin-bottom: 24px;
    flex-grow: 1;
}

/* Подвал карточки (Ссылка и цена) */
.sale-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.sale-card__more {
    font-size: 15px;
    font-weight: 500;
    color: var(--red);
    display: flex;
    align-items: center;
    gap: 6px;
}

.sale-card__price {
    background: var(--red); /* Корпоративный золотой */
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 16px;
}

/* --- ВЫДЕЛЕННАЯ (ПЕРВАЯ) КАРТОЧКА --- */
.sale-card--featured {
    flex-direction: row;
    align-items: stretch;
    background: #fff; /* Очень легкий серый/бежевый оттенок для выделения фона */
}

.sale-card--featured .sale-card__img {
    width: 50%;
    height: 380px;
}

.sale-card--featured .sale-card__content {
    width: 50%;
    padding: 40px;
    justify-content: center; /* Центрируем текст по вертикали */
}

.sale-card--featured .sale-card__title {
    font-size: 32px;
    margin-bottom: 20px;
}

.sale-card--featured .sale-card__short {
    font-size: 18px;
}

/* --- АДАПТИВНОСТЬ --- */

/* content new */
.article-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, auto); 
    gap: 16px;
    list-style-position: inside;
    padding: 0;
}
.article-list li {
    padding-left: 0;
    margin-bottom: 0;
}
.article-list li a {
    background: var(--white-gray);
    border-radius: 12px;
    padding: 16px 50px 16px 20px;
    display: flex;
    align-items: center;
    height: 100%;
}
.article-list li:before {
    width: 20px;
    height: 20px;
    background-size: 20px;
    position: absolute;
    top: calc(50% - 10px);
    right: 20px;
    left: inherit;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.3335 10.0002L16.6668 10.0002M16.6668 10.0002L12.5002 14.1668M16.6668 10.0002L12.5002 5.8335' stroke='%23f23b2d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' /%3E%3C/svg%3E");
}

/* Скрываем подменю по умолчанию */
.panel-adaptive .sub-menu {
    display: none;
    padding-left: 15px; /* Небольшой отступ для вложенности */
}

/* Стили для родительского элемента с подменю */
.panel-adaptive .menu-item-has-children > a {
    position: relative;
    padding-right: 45px; /* Освобождаем место для стрелки */
}

/* Создаем и стилизуем стрелку */
.panel-adaptive .menu-item-has-children .arrow {
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -5px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #222;
    border-right: 2px solid #222;
    transform: rotate(45deg);
    transition: transform 0.3s ease; /* Анимация поворота */
}

/* Стиль для стрелки в открытом состоянии */
.panel-adaptive .menu-item-has-children.active > a .arrow {
    transform: rotate(135deg); /* Поворачиваем стрелку вниз */
    margin-top: -2px;
}

/* content */

.alert-text {
    position: relative;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.card.alert-text {
    background: radial-gradient(200.08% 142.63% at 0.17% -1.87%, #f23b2d 0%, #8c221a 100%);
    border-radius: 16px;
}
.alert-text__head {
    display: flex;
    justify-content: flex-end;
}
.alert-text .badge-chip {
    background: #fff;
    color: var(--red);
}
.alert-text__in {
    font-size: 18px;
    font-weight: 500;
    color: #fff;
}
.alert-text__in .text-block {
    font-size: 18px;
    font-weight: 500;
    color: #fff;
}
.alert-text__in .text-block strong {
    color: #fff;
}

.alert-text h2 {
    color: #fff;
    font-size: 24px;
    margin-bottom: 12px;
}

.text-block.subtitle {
    margin: -20px 0 40px;
}
.service-tab__nav li {
    list-style: none;
}
.service-tab__nav li a {
    display: inline-block;
    background: #fff;
    border: none;
    border-radius: 12px;
    padding: 12px 24px;
    font-size: 16px;
    color: #222;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}
.service-tab__nav li a.active {
    background: radial-gradient(338.35% 141.42% at 0% 0%, #313242 0%, #545664 100%);
    color: #fff;
    font-weight: 400;
}
.service-tab {
    display: none;
}
.service-tab.active {
    display: block;
}
.service-tab__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
    margin-bottom: 40px;
}

.swiper-arrow {
    background: #fff;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.swiper-arrow.swiper-button-disabled {
    opacity: 0.4;
}
.swiper-arrow svg {
    flex-shrink: 0;
}

.tab__image img {
    border-radius: 20px;
    width: 100%;
    height: auto;
}

/* Ваши базовые стили */
.process__in .swiper-slide { height: auto; }

.panel__bottom-address {
    margin-top: 60px;
}
.prices-table table td {
    border-bottom: 1px solid #f0f3f5;
}
.prices-table .service-price,
.prices-table .service-price__duration {
    white-space: nowrap;
}
.prices-table .price-row[hidden] {
    display: none !important;
}
.price-row__desc {
    font-weight: normal;
}

/* .content */

/* faq */
.faq-form__sub {
    margin-top: -20px;
    margin-bottom: 20px;
}
.faq-item {
    margin-bottom: 4px;
    background: #f5f6fb;
    border-radius: 12px;
}
.faq-question {
    position: relative;
    cursor: pointer;
    
    font-weight: 500;
    font-size: 20px;
    line-height: 150%;
    color: #2c2c2c;

    padding: 30px 60px 30px 30px;
}
.faq-answer {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.4s ease-out;
    -o-transition: max-height 0.4s ease-out;
    transition: max-height 0.4s ease-out;
    padding: 0 30px 0 30px;
}
.faq-answer__in {
    padding-bottom: 30px;
    font-weight: 400;
    font-size: 16px;
    line-height: 130%;
    color: #222;
}
.faq-item__btn {
    position: absolute;
    top: 24px;
    right: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #fff;
}
.faq-item__btn svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}
.faq-item__btn svg path {
    fill: #343a40;
}
.faq-item.active .faq-item__btn svg {
    transform: rotate(180deg);
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}
.faq-item__btn svg {
    transition: .5s;
}
.top-btn {
    position: fixed;
    font-size: 1.5em;
    width: 2.1em;
    padding-top: 7px;
    height: 2em;
    background-color: var(--red);
    color: var(--black);
    border-radius: 50%;
    margin-left: 0.4em;
    cursor: pointer;
    right: 3.8%;
    bottom: 3.8%;
    z-index: 99;
    text-align: center;
    display: none;
}
.top-btn svg {
    display: inline-block;
    color: #fff;
}

/* radio */
.checkmark:after, .checkradio:after {
    content: "";
}
.checkbox-label:hover input~.checkmark,.checkmark{
    background-color:#ddd
}
.checkbox, .radio {
    margin-bottom: 22px;
}
.checkbox, .radio {
    display: block;
}
.checkbox-label{
    display: block;
    position:relative;
    padding-left: 32px;
    line-height:25px;
    margin-bottom:12px;
    cursor:pointer;
    font-size:16px;
    -webkit-user-select:none;
       -moz-user-select:none;
        -ms-user-select:none;
            user-select:none
}
.checkbox-label input{
    position:absolute;
    opacity:0
}
.checkmark {
    position:absolute;
    top:0;
    left:0;
    height:24px;
    width:24px;
    border-radius: 4px;
    border: none;
    background-color: var(--stroke-white-gray);
}
.checkbox-label input:checked~.checkmark:before {
    content: '';
    position: absolute;
    left: 9px;
    top: 5px;
    width: 6px;
    height: 11px;
    border: solid var(--red);
    border-width: 0px 2px 2px 0;
    -webkit-transform: rotate(35deg);
    -ms-transform: rotate(45deg);
    transform: rotate(35deg);
}
.checkmark:after {
    position:absolute;
    display:none
}
.checkbox-label input:checked~.checkmark:after, .radio {
    display: block;
}
.radio {
    position:relative;
    padding-left: 30px;
    margin-bottom: 20px;
    cursor:pointer;
    font-size: 16px;
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none
}
.radio input{
    position:absolute;
    opacity:0
}
.radio:hover input~.checkradio{
    background-color:#ccc
}
.radio input:checked~.checkradio{
    background-color: #fff;
}
.radio input:checked~.checkradio:after{
    display:block
}
.radio .checkradio:after{
    top: 2px;
    left: 2px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #000;
}
.form-group {
    position: relative;
}
input:not(:-moz-placeholder-shown) ~ .floating-label {
  top: 2px;
  bottom: 10px;
  left: 25px;
  font-size: 11px;
  opacity: 1;
}
input:not(:-ms-input-placeholder) ~ .floating-label {
  top: 2px;
  bottom: 10px;
  left: 25px;
  font-size: 11px;
  opacity: 1;
}
input:focus ~ .floating-label,
input:not(:placeholder-shown) ~ .floating-label {
  top: 2px;
  bottom: 10px;
  left: 25px;
  font-size: 11px;
  opacity: 1;
}
.floating-label {
  position: absolute;
  pointer-events: none;
  left: 25px;
  top: 18px;
  -webkit-transition: 0.2s ease all;
  -o-transition: 0.2s ease all;
  transition: 0.2s ease all;
}
.floating-label span {
    color: var(--red);
}

/* animate */
@-webkit-keyframes slideIn {
  0% {
    opacity: .7;
    -webkit-transform: translate3d(0,5px,0);
    transform: translate3d(0,5px,0)
  }
  100% {
    opacity: 1;
   -webkit-transform: translate3d(0);
   transform: translate3d(0)
  }
}
@keyframes slideIn {
  0% {
    opacity: .7;
    -webkit-transform: translate3d(0,5px,0);
    transform: translate3d(0,5px,0)
  }
  100% {
    opacity: 1;
   -webkit-transform: translate3d(0);
   transform: translate3d(0)
  }
}

@-webkit-keyframes slideMob {
  0% {
    opacity: .7;
    top: 30px;
  }
  100% {
    opacity: 1;
    top: 32px;
  }
}

@keyframes slideMob {
  0% {
    opacity: .7;
    top: 30px;
  }
  100% {
    opacity: 1;
    top: 32px;
  }
}

/* adaptive */
.header__menu {
    display: none;
}

.swiper-pagination-bullet {
    opacity: 1;
    background: #C4C4C4;
    width: 12px;
    height: 12px;
    vertical-align: middle;
}
.swiper-pagination-bullet-active {
    background: #FFB3B3;
    width: 24px;
    height: 24px;
    vertical-align: middle;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.swiper-pagination {
    margin-top: 48px;
    display: block;
    position: relative;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, 
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 12px;
}
.block__img {
    position: relative;
}
.block__img .video-btn {
    position: absolute;
    top: calc(50% - 35px);
    left: calc(50% - 35px);
}
.block__img img {
    max-width: 100%;
    height: auto;
}
.block-video__link {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}
.block-video__link:before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, .32);
    transition: background .25s ease;
}
.block-video__link:hover:before {
    background: rgba(0, 0, 0, .22);
}
.block-video__link img {
    display: block;
    width: 100%;
    transition: transform .25s ease;
}
.block-video__link:hover img {
    transform: scale(1.025);
}
.block-video .video-btn {
    top: 50%;
    left: 50%;
    z-index: 2;
    color: var(--red);
    transform: translate(-50%, -50%);
}
.block-video .video-btn svg {
    display: block;
    filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .28));
}
.block-video--loop {
    border-radius: 20px;
}
.block-video__link--loop {
    cursor: default;
}
.block-video__link--loop[data-fancybox] {
    cursor: pointer;
}
.block-video__player {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #1a1a1a;
}
.block-video__link--loop:before {
    background: rgba(0, 0, 0, .2);
}
.block-video__link--loop:hover:before {
    background: rgba(0, 0, 0, .28);
}
.block-video__watch {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 10px 10px;
    background: #fff;
    border-radius: 25px;
    color: #f23b2d;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .16);
    pointer-events: none;
}
.block-video__watch svg {
    display: block;
    flex-shrink: 0;
}
@media (prefers-reduced-motion: reduce) {
    .block-video__player {
        display: none;
    }
    .block-video--loop .block-video__link:after {
        content: '';
        display: block;
        aspect-ratio: 4 / 3;
        background: #1a1a1a;
    }
}
@media (min-width: 992px) {
    .block-media-row--media-left .block-media-row__media {
        padding-right: 80px;
    }
    .block-media-row--media-right .block-media-row__media {
        padding-left: 80px;
    }
}
@media (max-width: 767px) {
    .fancybox-block-video-vertical .fancybox-slide--iframe .fancybox-content,
    .fancybox-block-video-vertical .fancybox-slide--video .fancybox-content {
        width: min(88vw, 390px) !important;
        height: min(82vh, 700px) !important;
        max-width: 88vw !important;
        max-height: 82vh !important;
    }
}
.modal {
    display: none; 
    align-items: center;
    justify-content: center;
    position: fixed; 
    z-index: 999; 
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%; 
    overflow: auto; 
    background-color: rgb(0,0,0, .4);
    padding: 20px;
    backdrop-filter: blur(7px);
}
.modal-content {
    position: relative;
    width: 850px;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    overflow-y: auto;
    background-color: #fff;
    padding: 45px 30px 30px;
    -webkit-animation: slideIn .3s;
    animation: slideIn .3s;
    border-top-left-radius: 30px;
    border-bottom-right-radius: 30px;
    -webkit-box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.10);
    box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.10);
}
.modal-content h2 {
    color: #007568;
}
.modal-title {
    font-size: 30px;
    line-height: 1.2;
    font-weight: bold;
    margin: 0 0 30px;
    color: var(--red);
}
.modal .form label, 
.modal .form__terms, 
.modal .form__terms a {
    color: var(--main);
}
.modal .form label {
    display: flex;
    margin-bottom: 6px;
}
.modal .form__terms {
    margin-left: 0;
}
.modal .btn-main {
    width: 100%;
}

.modal .close {
    cursor: pointer;
    display: inline-block;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
}
.modal .close::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    -ms-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
    width: 22px;
    height: 2px;
    background: var(--red);
}
.modal .close::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    width: 22px;
    height: 2px;
    background: var(--red);
}

@-webkit-keyframes slideIn {
  0% {
    opacity: .7;
    -webkit-transform: scale(0.97);
    transform: scale(0.97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes slideIn {
  0% {
    opacity: .7;
    -webkit-transform: scale(0.97);
    transform: scale(0.97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.panel-adaptive {
    position: fixed;
    top: 55px;
    right: 0;
    left: 100%;
    bottom: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    padding-bottom: 55px;
    overflow-y: auto;
    background: #f4f4f4;
    display: none;
    -webkit-transition: -webkit-transform .35s cubic-bezier(.55,.085,.68,.53);
    transition: -webkit-transform .35s cubic-bezier(.55,.085,.68,.53);
    -o-transition: transform .35s cubic-bezier(.55,.085,.68,.53);
    transition: transform .35s cubic-bezier(.55,.085,.68,.53);
    transition: transform .35s cubic-bezier(.55,.085,.68,.53), -webkit-transform .35s cubic-bezier(.55,.085,.68,.53);
    transition: transform .35s cubic-bezier(.55,.085,.68,.53),-webkit-transform .35s cubic-bezier(.55,.085,.68,.53);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translateZ(0);
}
.panel-adaptive.panel-right {
    left: 0;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .63s;
         -o-transition-duration: .63s;
            transition-duration: .63s;
    -webkit-transition-timing-function: cubic-bezier(.23,1,.32,1);
         -o-transition-timing-function: cubic-bezier(.23,1,.32,1);
            transition-timing-function: cubic-bezier(.23,1,.32,1); 
}
.panel-adaptive ul li {
    position: relative;
    list-style: none;
}
.panel-adaptive ul li a {
    display: block;
    padding: 12px 20px;
    color: #222;
    font-weight: bold;
    font-size: 16px;
}
.panel-adaptive__services {
    background: #fff;
    border-bottom: 1px solid #ececec;
}
.panel-adaptive__services-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 42px;
    padding: 0 20px;
    color: #222;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    list-style: none;
    cursor: pointer;
}
.panel-adaptive__services-title::-webkit-details-marker {
    display: none;
}
.panel-adaptive__services-title svg {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    padding: 9px;
    border-radius: 50%;
    background: #f5f5f5;
    color: #222;
    transition: transform 0.2s ease;
}
.panel-adaptive__services[open] > .panel-adaptive__services-title svg {
    transform: rotate(180deg);
}
.panel-adaptive__service {
    display: block;
    margin: 0;
    border-top: 1px solid #f0f0f0;
    background: #fff;
}
.panel-adaptive__service summary,
.panel-adaptive__service--link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 42px;
    padding: 0 20px;
    color: #222;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    list-style: none;
    text-decoration: none;
    cursor: pointer;
}
.panel-adaptive__service summary::-webkit-details-marker {
    display: none;
}
.panel-adaptive__service summary svg {
    flex: 0 0 auto;
    color: #222;
    transition: transform 0.2s ease, color 0.2s ease;
}
.panel-adaptive__service[open] summary svg {
    color: var(--red);
    transform: rotate(90deg);
}
.panel-adaptive__service-list {
    margin: 0;
    padding: 0;
    background: #f7f7f7;
}
.panel-adaptive .panel-adaptive__service-list li {
    border-top: 1px solid #ececec;
}
.panel-adaptive .panel-adaptive__service-list li a {
    padding: 13px 34px;
    color: #454545;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;
}
.panel-adaptive .panel-adaptive__service-list li a.panel-adaptive__service-all {
    color: var(--red);
    font-weight: 700;
}
.hamburger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    -webkit-transition-property: opacity, -webkit-filter;
    transition-property: opacity, -webkit-filter;
    -o-transition-property: opacity, filter;
    transition-property: opacity, filter;
    transition-property: opacity, filter, -webkit-filter;
    -webkit-transition-duration: 0.15s;
         -o-transition-duration: 0.15s;
            transition-duration: 0.15s;
    -webkit-transition-timing-function: linear;
         -o-transition-timing-function: linear;
            transition-timing-function: linear;
    font-weight: bold;
    text-transform: uppercase;
    color: var(--purple);
    background-color: transparent;
    border: 0;
    margin: 0;
    overflow: visible; 
}

.hamburger-box {
    width: 30px;
    height: 27px;
    display: inline-block;
    position: relative;
    margin-left: 8px;
}

.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -2px; 
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 30px;
    height: 2px;
    background-color: var(--red);
    border-radius: 4px;
    position: absolute;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    -o-transition-property: transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.15s;
         -o-transition-duration: 0.15s;
            transition-duration: 0.15s;
    -webkit-transition-timing-function: ease;
         -o-transition-timing-function: ease;
            transition-timing-function: ease; 
}
.hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; 
}
.hamburger-inner::before {
    top: -10px; 
}
.hamburger-inner::after {
    bottom: -10px; 
}

/* Elastic Reverse */
.hamburger--elastic-r .hamburger-inner {
    top: 5px;
    -webkit-transition-duration: 0.275s;
         -o-transition-duration: 0.275s;
            transition-duration: 0.275s;
    -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
         -o-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
            transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); 
}
.hamburger--elastic-r .hamburger-inner::before {
    top: 10px;
    -webkit-transition: opacity 0.125s 0.275s ease;
    -o-transition: opacity 0.125s 0.275s ease;
    transition: opacity 0.125s 0.275s ease; 
}
  .hamburger--elastic-r .hamburger-inner::after {
    top: 20px;
    -webkit-transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -o-transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); 
}

.hamburger--elastic-r.is-active .hamburger-inner {
    -webkit-transform: translate3d(0, 10px, 0) rotate(-135deg);
            transform: translate3d(0, 10px, 0) rotate(-135deg);
    -webkit-transition-delay: 0.075s;
         -o-transition-delay: 0.075s;
            transition-delay: 0.075s; 
}
.hamburger--elastic-r.is-active .hamburger-inner::before {
    -webkit-transition-delay: 0s;
         -o-transition-delay: 0s;
            transition-delay: 0s;
    opacity: 0; 
}
.hamburger--elastic-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -20px, 0) rotate(270deg);
            transform: translate3d(0, -20px, 0) rotate(270deg);
    -webkit-transition-delay: 0.075s;
         -o-transition-delay: 0.075s;
            transition-delay: 0.075s; 
}
.panel__bottom {
    padding: 32px 20px 28px;
    background: #fff;
    border-top: 1px solid #ececec;
    text-align: center;
}
.panel-adaptive__nav {
    margin-bottom: 0;
}
.panel__socials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-bottom: 26px;
}
.panel__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #f7f7f9;
    color: var(--red);
    box-shadow: inset 0 0 0 1px rgba(34, 34, 34, 0.06);
    text-decoration: none;
}
.panel__social--tg { color: #2aa8e8; }
.panel__social--vk { color: #2678d9; }
.panel__social--max { color: #4557ff; }
.panel__social--youtube { color: #ff2f2f; }
.panel__phone {
    display: block;
    margin-bottom: 6px;
    color: #222;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.15;
    text-decoration: none;
}
.panel__worktime {
    margin-bottom: 24px;
    color: #454545;
    font-size: 17px;
    line-height: 1.3;
}
.panel__appointment,
.panel__whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    margin-bottom: 12px;
    padding: 14px 18px;
    border-radius: 14px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}
.panel__appointment {
    background: var(--red);
    color: #fff;
}
.panel__whatsapp {
    border: 1px solid #3a9b32;
    background: #fff;
    color: #3a9b32;
}
.panel__bottom-address {
    margin-top: 18px;
    color: #777;
    font-size: 14px;
    line-height: 1.35;
}
.price-table__cell .old-price {
    text-decoration: line-through;
    color: #9a9a9a;
}
.price-list .faq-answer {
    background: #fff;
    padding: 0;
}

.bsf-info-box p,
.bsf-info-box div {
    text-align: left !important;
}

.contacts-page {
    position: relative;
    overflow: hidden;
}
.contacts-page .container {
    position: relative;
    z-index: 2;
}

/* ==========================================================================
   REDESIGN 2026 — Header + Service Hero
   ========================================================================== */

.medmaket-legacy-header,
.service-intro {
    font-family: "Golos Text", "Inter", sans-serif;
}

/* --- Header layout --- */
.medmaket-legacy-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 100;
    padding: 0 16px;
    background: transparent;
}
.medmaket-legacy-header .header__in {
    max-width: 1340px;
    margin: 0 auto;
    background: #fff;
    border-radius: 0 0 24px 24px;
    padding: 16px;
    height: auto;
    display: flex;
    flex-direction: column;

    /*
    box-shadow: 0 8px 24px rgba(36, 25, 2, 0.06);
    */
}
.medmaket-legacy-header.header_scroll {
    top: 0;
}
.medmaket-legacy-header.header_scroll .header__in {
    box-shadow: 0 8px 24px rgba(36, 25, 2, 0.08);
}

/* Top row */
.header__in .header__top {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 14px;
    font-size: 14px;
    color: var(--black);
    border: 0;
    padding: 0;
    max-height: 60px;
    opacity: 1;
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.25s ease, margin-bottom 0.35s ease;
}
.medmaket-legacy-header.header_scroll .header__in .header__top {
    max-height: 0;
    opacity: 0;
    margin-bottom: 0;
    pointer-events: none;
}
.header__in .header__place {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 400;
    font-size: 14px;
    color: var(--gray);
    white-space: nowrap;
}
.header__in .header__place img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}
.header__in .header__address {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 400;
    font-size: 14px;
    color: var(--gray);
}
.header__in .header__address svg {
    flex-shrink: 0;
}
.header__metro {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    font-weight: 400;
    font-size: 14px;
    color: var(--gray);
}
.header__metro .metro-icon {
    display: inline-block;
    width: 16px;
    height: 11px;
    flex-shrink: 0;
}
.header__in .header__phone {
    margin-left: auto;
}
.header__in .header__phone a {
    font-weight: 600;
    font-size: 14px;
    color: var(--black);
    opacity: 1;
    white-space: nowrap;
}
.header__in .header__schedule-item {
    flex-direction: row;
    align-items: center;
    gap: 6px;
    color: var(--gray);
    font-size: 12px;
    white-space: nowrap;
}
.header__in .header__schedule-label {
    width: auto;
    color: var(--gray);
}
.header__in .header__slabo button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 0;
    padding: 0;
    color: var(--gray);
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
}
.header__in .header__slabo button:hover {
    color: var(--black);
}

/* Bottom row */
.header__in .header__middle {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 0;
}
.header__in .header__brand {
    flex-shrink: 0;
    width: 180px;
    height: 45px;
}
.header__in .header__brand img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.header__in .header__nav {
    flex: 1;
}
.header__in .header__nav > ul,
.header__in .header__nav > div > ul {
    display: flex;
    gap: 22px;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}
.header__in .header__nav li a {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    color: var(--gray);
}
.header__in .header__nav li.current-menu-item > a,
.header__in .header__nav li.current_page_item > a,
.single-services .header__in .header__nav li a[href*="/services"] {
    color: var(--red);
}
.header__in .header__nav li a.services-megamenu-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.header__nav .menu-item-has-children > a.services-megamenu-link:after {
    display: none;
}
.services-menu-burger {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    width: 22px;
    height: 13px;
    flex-shrink: 0;
}
.services-menu-burger span {
    position: absolute;
    left: 0;
    height: 1.5px;
    border-radius: 2px;
    background: currentColor;
    transition: top .18s ease, width .18s ease, transform .18s ease, opacity .12s ease;
}
.services-menu-burger span:nth-child(1) { top: 2px; left: 0; width: 21px; }
.services-menu-burger span:nth-child(2) { top: 7px; left: 4px; width: 16px; }
.services-menu-burger span:nth-child(3) { top: 12px; left: 9px; width: 10px; }
.services-megamenu-link.is-megamenu-open .services-menu-burger span:nth-child(1) {
    top: 7px;
    left: 1px;
    width: 20px;
    transform: rotate(45deg);
}
.services-megamenu-link.is-megamenu-open .services-menu-burger span:nth-child(2) {
    opacity: 0;
}
.services-megamenu-link.is-megamenu-open .services-menu-burger span:nth-child(3) {
    top: 7px;
    left: 1px;
    width: 20px;
    transform: rotate(-45deg);
}
.services-menu-burger.is-open span:nth-child(1) {
    top: 7px;
    left: 1px;
    width: 20px;
    transform: rotate(45deg);
}
.services-menu-burger.is-open span:nth-child(2) {
    opacity: 0;
}
.services-menu-burger.is-open span:nth-child(3) {
    top: 7px;
    left: 1px;
    width: 20px;
    transform: rotate(-45deg);
}

/* Search */
.header__in .header__search-group {
    position: relative;
}

/* Social */
.header__in .header__social {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.header__in .header__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: transparent;
    border: 1px solid rgba(241, 59, 45, 0.12);
    color: var(--red);
    transition: transform .15s ease, background .15s ease;
}
.header__in .header__social a:hover {
    background: var(--red-12);
}
.header__in .header__social svg {
    width: 22px;
    height: 22px;
}
.header__in .header__social-max svg {
    width: 25px;
    height: 25px;
}
.header__in .header__social a.header__social-phone {
    display: none;
}

/* Service page: remove global body offset so hero can slide under fixed header */
body.single-services,
body.home {
    padding-top: 0;
}

/* --- Service hero --- */
.service-intro {
    position: relative;
    background: radial-gradient(596.89% 141.42% at 0% 0%, #313242 0%, #545664 100%);
    background: url(/img/bg.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 0 0 32px 32px;
    overflow: hidden;
    color: var(--white);
    margin-bottom: 32px;
}
.service-intro__inner {
    max-width: 1432px;
    margin: 0 auto;
    padding: 144px 40px 0;
    position: relative;
}
.service-intro__breadcrumbs {
    margin: 24px 0;
}
.service-intro__breadcrumbs .bread__line {
    padding: 0;
}
.service-intro__breadcrumbs .bread__line .container {
    padding: 0;
}
.service-intro__breadcrumbs .breadcrumb,
.service-intro__breadcrumbs .breadcrumb a,
.service-intro__breadcrumbs .breadcrumb span {
    color: var(--white-75);
    margin: 0;
}
.service-intro__row {
    display: flex;
    align-items: stretch;
    gap: 40px;
}
.service-intro__left {
    position: relative;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 0 160px;
    min-width: 0;
    max-width: 800px;
}
.service-intro__title {
    font-weight: 600;
    font-size: 44px;
    line-height: 112%;
    letter-spacing: -0.01em;
    color: var(--white);
    margin: 0 0 12px 0;
}
.service-intro__subtitle {
    font-weight: 400;
    font-size: 18px;
    line-height: 132%;
    color: var(--white-75);
    margin: 0 0 32px 0;
    max-width: 560px;
}
.service-intro__btn,
.service-intro .btn.service-intro__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    padding: 0 28px;
    margin-top: 32px;
    border-radius: 12px;
    background: var(--red);
    color: var(--white);
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
    border: 0;
    align-self: flex-start;
    overflow: hidden;
    isolation: isolate;
}
/* Блик по кнопке «Записаться» — привлекает внимание */
.service-intro__btn::after,
.service-intro .btn.service-intro__btn::after {
    content: "";
    position: absolute;
    top: 0;
    left: -40%;
    width: 36%;
    height: 100%;
    background: linear-gradient(
        105deg,
        transparent 0%,
        rgba(255, 255, 255, 0.08) 35%,
        rgba(255, 255, 255, 0.55) 50%,
        rgba(255, 255, 255, 0.08) 65%,
        transparent 100%
    );
    transform: skewX(-18deg) translateX(-120%);
    animation: hero-btn-shine 3.2s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}
.service-intro__btn:hover {
    background: #d83327;
    color: var(--white);
}
@keyframes hero-btn-shine {
    0%, 55% {
        transform: skewX(-18deg) translateX(-160%);
    }
    80%, 100% {
        transform: skewX(-18deg) translateX(420%);
    }
}
@media (prefers-reduced-motion: reduce) {
    .service-intro__btn::after,
    .service-intro .btn.service-intro__btn::after {
        animation: none;
        display: none;
    }
}

/* Stats inside hero */
.service-intro__bens {
    position: absolute;
    bottom: 40px;
    left: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}
.service-intro__yandex {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: 97px;
    height: 32px;
    padding: 2px 12px 2px 2px;
    border-radius: 1000px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--white);
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
}
.service-intro__yandex:hover {
    color: var(--white);
}
.service-intro__yandex-ya {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--white);
    flex-shrink: 0;
    overflow: hidden;
}
.service-intro__yandex-ya img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.service-intro__yandex svg {
    flex-shrink: 0;
}
.service-intro__yandex-val {
    line-height: 1;
}
.service-intro__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 32px;
}
.service-intro__stat-title {
    color: var(--white);
    font-size: 16px;
    font-weight: 500;
}
.service-intro__stat-title span {
    color: #f4ab1a;
    font-weight: 600;
}
.service-intro__stat-sub {
    color: var(--white-75);
    font-size: 13px;
    margin-top: 2px;
}

/* Right column: person + mask + price */
.service-intro__right {
    position: relative;
    flex: 0 0 700px;
    width: 700px;
    align-self: stretch;
    min-height: 480px;
    margin-right: -40px; /* компенсация правого padding у .service-intro__inner */
}
.service-intro__mask {
    position: absolute;
    right: -180px;
    bottom: 0;
    width: 130%;
    height: 130%;
    object-fit: contain;
    object-position: right bottom;
    pointer-events: none;
}
.service-intro__person {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 110%;
    height: 110%;
    object-fit: contain;
    object-position: right bottom;
    z-index: 1;
}
.service-intro__price {
    position: absolute;
    left: 0;
    bottom: 30%;
    width: auto;
    min-width: 171px;
    min-height: 81px;
    padding: 14px 24px;
    background: var(--white);
    border-radius: 16px;
    box-shadow: 2px 10px 24px 0 rgba(38, 6, 3, 0.16);
    transform: rotate(8deg);
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 2;
}
.service-intro__price-label {
    font-weight: 400;
    font-size: 16px;
    color: var(--red);
    line-height: 1;
    margin-bottom: 6px;
}
.service-intro__price-val {
    font-weight: 600;
    font-size: 18px;
    color: var(--black);
    line-height: 1;
}

/* ============================================================
   Front-page hero (.service-intro--front)
   3 колонки: текст / фото / промо-карточки
   ============================================================ */
.service-intro--front {
    margin-bottom: 32px;
    overflow: visible;
}
.service-intro--front .service-intro__inner {
    padding: 140px 40px 0;
    overflow: hidden;
    border-radius: 0 0 32px 32px;
}
.service-intro--front .service-intro__row {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 340px;
    align-items: stretch;
    gap: 0 24px;
}
.service-intro--front .service-intro__left {
    display: flex;
    flex-direction: column;
    padding: 46px 0 40px;
    max-width: 100%;
    justify-content: flex-start;
}
.service-intro--front .service-intro__title {
    font-size: 44px;
    line-height: 112%;
    margin-bottom: 20px;
}
.service-intro--front .service-intro__subtitle {
    font-size: 17px;
    margin-bottom: 28px;
    max-width: 520px;
}
.service-intro--front .service-intro__btn,
.service-intro--front .btn.service-intro__btn {
    margin-top: 12px;
}
.service-intro--front .hero-front__rating {
    margin-top: 18px;
}

/* Буллеты с красной галочкой */
.hero-front__bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 22px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
    max-width: 640px;
}
.hero-front__bullets li {
    position: relative;
    padding-left: 28px;
    color: var(--white);
    font-size: 16px;
    line-height: 1.3;
}
.hero-front__bullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.15em;
    transform: none;
    width: 16px;
    height: 16px;
    background-size: 16px;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.17141 0.635002C9.39937 -0.211667 10.6006 -0.211667 10.8286 0.635001L12.511 6.88352C12.5905 7.17883 12.8212 7.4095 13.1165 7.48901L19.365 9.17141C20.2117 9.39937 20.2117 10.6006 19.365 10.8286L13.1165 12.511C12.8212 12.5905 12.5905 12.8212 12.511 13.1165L10.8286 19.365C10.6006 20.2117 9.39937 20.2117 9.17141 19.365L7.48901 13.1165C7.4095 12.8212 7.17883 12.5905 6.88352 12.511L0.635002 10.8286C-0.211667 10.6006 -0.211667 9.39937 0.635001 9.17141L6.88352 7.48901C7.17883 7.4095 7.4095 7.17883 7.48901 6.88352L9.17141 0.635002Z' fill='%23F23B2D' /%3E%3C/svg%3E");
}

/* Рейтинг — прижат к низу левой колонки */
.hero-front__rating {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--white);
    font-size: 16px;
    margin-top: auto;
    align-self: flex-start;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 100px;
    padding: 8px 16px;
}
.hero-front__rating-val {
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
}
.hero-front__rating-stars {
    display: inline-flex;
    gap: 3px;
    color: var(--red);
}
.hero-front__rating-stars svg {
    width: 18px;
    height: 18px;
}
.hero-front__rating-stars svg path {
    fill: #f4ab1a;
}
.hero-front__rating-link {
    color: var(--white);
    text-decoration: underline;
    text-decoration-color: #fff;
    text-underline-offset: 3px;
}
.hero-front__rating-link:hover {
    color: var(--white);
    text-decoration-color: var(--white);
}

/* Центральная колонка с фото врача (за карточками, нижний край флеш с героем) */
.service-intro--front .service-intro__center {
    position: relative;
    align-self: end;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    margin-right: -160px;
    pointer-events: none;
}
.hero-front__person-img {
    display: block;
    width: auto;
    max-width: none;
    height: auto;
    max-height: 520px;
    object-fit: contain;
    object-position: right bottom;
    margin-bottom: 0;
    transform: translateX(8px);
}

/* Правая колонка — карточки (поверх фото) */
.hero-front__promos {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-self: start;
    justify-content: flex-start;
    padding: 0 0 40px;
}
.hero-promo {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 200px;
}
.hero-promo__body {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.hero-promo__title {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
}
.hero-promo__text {
    font-size: 16px;
    line-height: 1.4;
    max-width: 200px;
}
.hero-promo__image {
    position: absolute;
    right: -10px;
    bottom: -10px;
    width: 140px;
    height: 140px;
    z-index: 1;
    pointer-events: none;
}
.hero-promo__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right bottom;
}
.hero-promo__prices {
    display: flex;
    width: fit-content;
    align-items: center;
    gap: 6px;
    background: var(--white);
    margin-top: 4px;
    border-radius: 100px;
    padding: 3px 10px;
}
.hero-promo__price {
    font-weight: 500;
    font-size: 18px;
    line-height: 112%;
    letter-spacing: -0.01em;
    color: var(--black);
}
.hero-promo__price-old {
    font-weight: 400;
    font-size: 16px;
    text-decoration: line-through;
    color: var(--gray-white);
}
.hero-promo__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    transition: gap .2s ease;
    align-self: flex-start;
    margin-top: 40px;
}
.hero-promo__link svg {
    transition: transform .25s ease;
}
.hero-promo__link:hover svg {
    transform: translateX(3px);
}

/* Тёмная карточка */
.hero-promo--dark {
    background: radial-gradient(596.89% 141.42% at 0% 0%, #313242 0%, #545664 100%);
    color: var(--white);
}
.hero-promo--dark .hero-promo__title { color: var(--white); }
.hero-promo--dark .hero-promo__text { color: var(--white-75); }
.hero-promo--dark .hero-promo__link { color: var(--white); }

/* Светлая карточка */
.hero-promo--light {
    background: radial-gradient(
        120% 120% at 50% 40%,
        #ffffff 0%,
        #edf6ff 30%,
        #c5d5e8 60%,
        #71839d 100%
    );
    color: var(--black);
}
.hero-promo--light .hero-promo__title { color: var(--black); }
.hero-promo--light .hero-promo__text { color: var(--gray); max-width: 180px; }
.hero-promo--light .hero-promo__price { color: var(--black); }
.hero-promo--light .hero-promo__link { color: var(--red); }
.hero-promo--light .hero-promo__link:hover { color: #d83327; }
.hero-promo--light .hero-promo__image {
    width: 180px;
    height: 180px;
    right: -14px;
    bottom: -14px;
}

/* --- Service stats (под hero) --- */
.service-stats .stat-card {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 2px;
    align-items: center;
    background: transparent;
    padding: 0;
    border: 0;
}
.service-stats .stat-card__icon {
    grid-row: 1 / 3;
    align-self: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
/* Перебиваем цвета inline-SVG */
.service-stats .stat-card__icon svg rect { fill: transparent; }
.service-stats .stat-card__icon svg path { fill: var(--red); }
.service-stats .stat-card__icon svg { width: 32px; height: 32px; }
.service-stats .stat-card__icon img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

/* Вариант блока на главной — без label, текст крупнее */
.service-stats--front {
    margin-top: 24px;
    margin-bottom: 32px;
}
.service-stats--front .stat-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: transparent;
    padding: 0;
    min-height: 56px;
}
.service-stats--front .stat-card__icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.service-stats--front .stat-card__icon img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}
.service-stats--front .stat-card__val {
    font-size: 15px;
    line-height: 1.35;
    color: var(--black);
    font-weight: 500;
}
.service-stats .stat-card__label {
    grid-column: 2;
    grid-row: 1;
    font-weight: 400;
    font-size: 16px;
    color: var(--gray-white);
    line-height: 1.2;
}
.service-stats .stat-card__val {
    grid-column: 2;
    grid-row: 2;
    font-weight: 500;
    font-size: 16px;
    color: var(--black);
    line-height: 1.2;
}

/* --- Responsive --- */

/* ============================================================
   Унифицированный «чип-бэйдж» (.badge-chip) — используется
   в заголовках секций (О клинике, Услуги и т.п.)
   ============================================================ */
.badge-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 8px;
    padding: 2px 16px 2px 2px;
    height: 34px;
    background: rgba(241, 59, 45, 0.08);
    font-weight: 500;
    font-size: 14px;
    color: var(--red);
    line-height: 1;
    width: max-content;
}
.badge-chip__icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    padding: 6px;
    background: var(--red);
}
.badge-chip__icon svg {
    width: 100%;
    height: 100%;
}

/* ============================================================
   Блок «О клинике» (parts/about-perio.php)
   ============================================================ */
.about-block {
    margin: 60px 0;
    border-radius: 24px;
    background: var(--white);
    padding: 12px;
}
.about-block__inner {
    display: grid;
    grid-template-columns: 450px minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
}
.about-block__image {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: #ebebeb;
    width: 450px;
    max-width: 100%;
    height: auto;
}
.about-block__image img {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}
.about-block__content {
    display: flex;
    flex-direction: column;
    padding: 60px 40px;
}
.about-block__title {
    margin: 28px 0 16px;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.2;
}
.about-block__text {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: var(--gray);
    margin-bottom: 24px;
}
.about-block__text p {
    margin: 0 0 12px;
}
.about-block__text p:last-child { margin-bottom: 0; }
.about-block__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 28px;
}
.about-stat__val {
    font-weight: 600;
    font-size: 36px;
    line-height: 112%;
    letter-spacing: -0.01em;
    color: var(--red);
    margin-bottom: 6px;
}
.about-stat__label {
    font-weight: 400;
    font-size: 16px;
    color: var(--gray);
}
.about-block__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--red);
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
}
.about-block__link:hover { color: #d83327; }
.about-block__link svg { flex-shrink: 0; }

@media (max-width: 991px) {
    .about-block__inner { grid-template-columns: 1fr; gap: 20px; }
    .about-block__image { min-height: 320px; }
    .about-block__title { font-size: 28px; }
    .about-block__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .about-stat__val { font-size: 28px; }
}
@media (max-width: 600px) {
    .about-block__stats { grid-template-columns: 1fr 1fr; }
    .about-block__title { font-size: 22px; }
    .about-block__text { font-size: 16px; }
}

.card.card_gray {
    background: #ebebeb;
}
.card_expert {
    background: #fff;
}

/* --- Expert block (Мнение эксперта) --- */
.card.card_purple .expert__quote {
    margin-bottom: 12px;
}
.card.card_purple .expert__title {
    font-weight: 600;
    font-size: 36px;
    line-height: 112%;
    letter-spacing: -0.01em;
    color: var(--black);
}
.card.card_purple .expert__text {
    font-size: 18px;
    line-height: 1.5;
    color: var(--black);
    margin-bottom: 24px;
}
.card.card_purple .expert__text blockquote,
.card.card_purple .expert__text-in {
    margin: 0;
    padding: 0;
    border: 0;
    font-style: normal;
    quotes: none;
}
.card.card_purple .expert__text blockquote::before,
.card.card_purple .expert__text-in::before {
    content: none;
}

.card.card_purple .expert__header {
    background: radial-gradient(596.89% 141.42% at 0% 0%, #313242 0%, #545664 100%);
    border-radius: 16px;
    padding: 8px 16px 8px 8px;
    color: var(--white);
    display: flex;
    align-items: center;
    gap: 24px;
}
.card.card_purple .expert__image {
    flex-shrink: 0;
    width: 66px;
    height: 66px;
    border-radius: 12px;
    overflow: hidden;
}
.card.card_purple .expert__image a {
    display: block;
    width: 100%;
    height: 100%;
}
.card.card_purple .expert__image img {
    width: 100%;
    height: 100%;
    background: #eee;
    object-fit: cover;
    display: block;
}
.card.card_purple .expert__info {
    flex: 1;
    min-width: 0;
}
.card.card_purple .expert__name,
.card.card_purple .expert__name a {
    font-size: 18px;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 4px;
    line-height: 1.25;
}
.card.card_purple .team-item__post {
    color: var(--white-75);
    font-size: 14px;
    line-height: 1.3;
    margin-bottom: 0;
}
.card.card_purple .expert__btn .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--red);
    color: var(--white);
    height: 48px;
    padding: 0 24px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
    border: 0;
}
.card.card_purple .expert__btn .btn:hover {
    background: #d83327;
    color: var(--white);
}

/* ============================================================
   Steps — портировано из темы stroi (palette: orange → red)
   ============================================================ */

/* Глобальная стрелка слайдера (.slider-btn) */
.slider-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 10px;
    border: 1px solid #faf5f2;
    border-radius: 100px;
    background: #fff;
    cursor: pointer;
    transition: background .25s ease, border-color .25s ease, opacity .25s ease;
}
.slider-btn:hover {
    background: var(--white-gray);
    border-color: var(--stroke-white-gray);
}
.slider-btn svg {
    display: block;
}
.slider-btn--prev svg {
    transform: scaleX(-1);
}
.slider-btn.swiper-button-disabled,
.slider-btn[disabled] {
    opacity: .35;
    cursor: not-allowed;
}

/* Вариант 1: Steps timeline (gray-block + swiper) */
.steps {
    overflow: hidden;
}
.steps__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}
.steps__head__left {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.steps__title {
    margin: 0;
    font-weight: 600;
    font-size: 40px;
    line-height: 112%;
    color: #15161a;
}
.steps__nav {
    display: flex;
    gap: 8px;
}
.steps__slider {
    overflow: visible;
}
.steps .swiper-slide {
    width: 320px;
    height: auto;
    display: flex;
}
.step-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    background: #fff;
    border-radius: 12px;
    padding: 24px;
}
.step-card__top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 168px;
    margin-bottom: 16px;
}
.step-card__top--image {
    overflow: hidden;
    border-radius: 8px;
    background: var(--white-gray);
}
.step-card__top--image .step-card__num {
    top: 12px;
    left: 12px;
    z-index: 1;
    background: rgba(255, 255, 255, 0.92);
}
.steps--content .step-card__top--empty {
    min-height: 44px;
    justify-content: flex-start;
}
.step-card__num {
    position: absolute;
    top: 0;
    left: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 1000px;
    background: var(--white-gray);
    font-weight: 600;
    font-size: 16px;
    color: var(--gray-white);
}
.step-card__image {
    display: block;
    width: 100%;
    height: 168px;
    object-fit: cover;
}
.step-card__title {
    margin: 0 0 12px;
    font-weight: 600;
    font-size: 24px;
    line-height: 120%;
    color: #15161a;
}
.step-card__text {
    margin: 0 0 20px;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: var(--gray);
}
.step-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    margin-top: auto;
    height: 50px;
    padding: 0 28px;
    border-radius: 6px;
    background: var(--red);
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
    transition: background .2s ease;
}
.step-card__cta:hover {
    background: #d83327;
}
.steps-process__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
    margin-bottom: 40px;
}
.steps-process__title {
    margin: 0;
}
.steps-process__sub {
    font-weight: 400;
    font-size: 18px;
    color: var(--gray);
    margin: 0;
}
.steps-process__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.step-row.row {
    margin: 0;
    align-items: stretch;
    gap: 16px;
    display: flex;
}
.step-row > .col-4,
.step-row > .col-8 {
    padding: 0;
    flex: 0 0 auto;
}
.step-row > .col-4 { width: calc((100% / 3) - 11px); }
.step-row > .col-8 { width: calc((100% / 3 * 2) - 5px); }
.step-row__head {
    display: flex;
    flex-direction: column;
    gap: 24px;
    height: 100%;
    padding: 28px;
    background: radial-gradient(338.35% 141.42% at 0% 0%, #313242 0%, #545664 100%);
    border-radius: 16px;
    color: #fff;
}
.step-row__counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 44px;
    min-width: 44px;
    padding: 0 10px;
    border-radius: 4px;
    background: var(--red);
    align-self: flex-start;
}
.step-row__counter__bar {
    display: block;
    width: 3px;
    height: 24px;
    border-radius: 1px;
    background: var(--white);
}
.step-row__counter__bar.is-inactive {
    opacity: 0.2;
}
.step-row__title {
    margin: 0;
    font-weight: 500;
    font-size: 20px;
    line-height: 120%;
    color: var(--white);
}
.step-row__text {
    height: 100%;
    padding: 28px;
    background: var(--white-gray);
    border-radius: 16px;
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    color: var(--black);
}
.step-row__text p:last-child,
.step-row__text ul:last-child,
.step-row__text ol:last-child {
    margin-bottom: 0;
}

/* CTA-блок формы — портировано из темы test (parts/service/cta.php) */
.cta-block {
    position: relative;
    border-radius: 24px;
    padding: 52px;
    background: url(/img/bg.jpg);
    background-size: cover;
    background-position: center;
}
.cta-block .cta__content {
    max-width: 705px;
    position: relative;
    z-index: 2;
}
.cta__title {
    font-size: 36px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 12px;
}
.cta-block .cta__sub {
    color: var(--white-75);
    margin: 0 0 32px;
    font-size: 16px;
}
.cta-form .row {
    margin: 0 -6px;
}
.cta-form .row .col-4 {
    padding: 0 6px;
}
.form.cta-form input[type="text"] {
    height: 52px;
    border-radius: 10px;
    border: none;
    background: #fff;
}
.cta-form .form__submit button {
    width: 100%;
    height: 52px;
}
.cta-block .form-group__terms {
    color: #fff;
}
.cta-block .form-group__terms p {
    color: rgba(255, 255, 255, 0.85);
}
.cta-block .form-group__terms a {
    color: #fff;
    text-decoration: underline;
}
.cta-block .form-group__terms label {
    color: #fff;
    margin-bottom: 12px;
}
.cta-block .form-group__terms input[type="checkbox"] {
    border: none;
    background: #fff;
}
.cta-block .form-group__terms input[type="checkbox"]::after {
    border-right-color: var(--red);
    border-bottom-color: var(--red);
}
.cta__bottom {
    color: rgba(255, 255, 255, 0.75);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    position: relative;
    z-index: 2;
}
.cta__bottom .social-btn {
    border-color: #fff;
    color: #fff;
}
.cta__socials {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}
.cta__bottom .social-btn:hover {
    background: #fff;
    color: var(--red);
    border-color: #fff;
}
.cta-block .cta__image {
    position: absolute;
    bottom: 0;
    right: 0;
    pointer-events: none;
}
.cta-block .cta__image img {
    max-width: 520px;
    width: auto;
    height: auto;
}

/* Кейсы клиники — шаблон cases.php */
.cases-page__title {
    margin: 0 0 24px;
}

/* --- Табы --- */
.cases-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 24px 0 28px;
}
.cases-tab {
    padding: 12px 22px;
    border: 0;
    border-radius: 12px;
    background: #fff;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background .2s, color .2s;
}
.cases-tab:hover { background: rgba(0,0,0,0.04); }
.cases-tab.is-active {
    background: radial-gradient(596.89% 141.42% at 0% 0%, #313242 0%, #545664 100%);
    color: #fff;
}

/* --- Сетка плиток --- */
.cases-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 48px;
}
.case-tile {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform .3s, box-shadow .3s;
}
.case-tile:hover {
    box-shadow: 0 8px 24px rgba(36, 25, 2, 0.08);
    color: inherit;
}
.case-tile__media {
    position: relative;
    width: 100%;
    height: 280px;
    border-radius: 16px;
    overflow: hidden;
    background: #ebebeb;
}
.case-tile__media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.case-tile__body {
    padding: 20px 24px 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 12px;
}
.case-tile__cat {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 4px 12px;
    border-radius: 6px;
    background: rgba(241, 59, 45, 0.10);
    color: var(--red);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.case-tile__cat--on-media {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    background: #fff;
    color: var(--red);
    box-shadow: 0 2px 8px rgba(20, 20, 30, 0.08);
}
.case-tile__title {
    margin: 0;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--black);
}
.case-tile__short {
    font-size: 16px;
    line-height: 1.45;
    color: var(--gray);
}
.case-tile__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid rgba(0,0,0,0.06);
    margin-top: auto;
}
.case-tile-stat {
    display: flex;
    align-items: center;
    gap: 10px;
}
.case-tile-stat__icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(241, 59, 45, 0.08);
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.case-tile-stat__val {
    font-size: 14px;
    font-weight: 600;
    color: var(--black);
    line-height: 1.2;
}
.case-tile-stat__label {
    font-size: 12px;
    color: var(--gray);
    line-height: 1.2;
    margin-top: 2px;
}
.case-tile__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--red);
    font-weight: 600;
    font-size: 15px;
    margin-top: 12px;
}
.case-tile:hover .case-tile__more svg { transform: translateX(3px); }
.case-tile__more svg { transition: transform .2s; }

/* --- Компаратор До/После --- */
.case-compare {
    position: relative;
    width: 100%;
    height: 100%;
    user-select: none;
    cursor: ew-resize;
}
.case-compare__after,
.case-compare__before {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.case-compare__after img,
.case-compare__before img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}
.case-compare__before {
    clip-path: inset(0 50% 0 0);
}
.case-compare__label {
    position: absolute;
    top: 12px;
    padding: 4px 12px;
    border-radius: 6px;
    background: var(--red);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    z-index: 3;
    pointer-events: none;
}
.case-compare__label--before { left: 12px; }
.case-compare__label--after  { right: 12px; }
.case-compare__handle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #150101;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
    pointer-events: none;
    box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

.cases-detailed-title {
    margin: 0 0 24px;
}
.cases-detailed-title h2 {
    margin: 0;
}
.cases-page .folio-slider-block {
    margin-top: 48px;
}

@media (max-width: 991px) {
    .cases-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .case-tile__media { height: 240px; }
}
@media (max-width: 600px) {
    .cases-grid { grid-template-columns: 1fr; }
    .case-tile__media { height: 280px; }
    .cases-tab { padding: 10px 16px; font-size: 14px; }
}

.case-card {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 20px;
}
.case-card__left {
    padding: 36px 38px;
    color: var(--black);
    display: flex;
    flex-direction: column;
    border-top-left-radius: 22px;
    border-bottom-left-radius: 22px;
}
.case-card__right {
    padding: 34px 36px;
    background: #fff;
}

/* Теги */
.case-card__tags {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.case-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 32px;
    padding: 0 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.case-tag--mark {
    background: rgba(255, 255, 255, 0.08);
    padding-left: 6px;
}
.case-tag--cat {
    background: rgba(255, 255, 255, 0.12);
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
}
.case-tag__dot {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
}
.case-tag__dot::after {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
}

/* Заголовок и описание */
.case-card__title {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--black);
    margin: 0 0 16px;
}
.case-card-expandable {
    position: relative;
}
.case-card-expandable.is-collapsed {
    max-height: 720px;
    overflow: hidden;
}
.case-card-expandable.is-collapsed::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 120px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 88%);
    pointer-events: none;
}
.case-card-expandable.is-expanded {
    max-height: none;
}
.case-card-expandable.is-expanded::after {
    opacity: 0;
}
.case-card-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 16px 0 28px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--red);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
}
.case-card-toggle svg {
    flex: 0 0 auto;
    transition: transform 0.25s ease;
}
.case-card-toggle.is-expanded svg {
    transform: rotate(180deg);
}
.case-card__text {
    color: #2c2c2c;
    font-size: 18px;
    line-height: 1.55;
    margin-bottom: 24px;
}
.case-card__text-wrap,
.case-card__result-wrap {
    position: relative;
}
.case-card__text-wrap.is-collapsed,
.case-card__result-wrap.is-collapsed {
    overflow: hidden;
}
.case-card__text-wrap.is-collapsed {
    max-height: 360px;
}
.case-card__result-wrap.is-collapsed {
    max-height: 220px;
}
.case-card__text-wrap.is-collapsed::after,
.case-card__result-wrap.is-collapsed::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 90px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 85%);
    pointer-events: none;
}
.case-card__text-wrap.is-expanded,
.case-card__result-wrap.is-expanded {
    max-height: none;
}
.case-card__text-wrap.is-expanded::after,
.case-card__result-wrap.is-expanded::after {
    opacity: 0;
}
.case-text-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 12px 0 24px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--red);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
}
.case-text-toggle svg {
    flex: 0 0 auto;
    transition: transform 0.25s ease;
}
.case-text-toggle.is-expanded svg {
    transform: rotate(180deg);
}
.case-card__text p {
    margin: 0 0 12px;
    color: #222;
}
.case-card__text p:last-child { margin-bottom: 0; }
.case-card__text strong,
.case-card__text b {
    color: var(--black);
    font-weight: 600;
    display: block;
    margin: 24px 0 12px;
    font-size: 18px;
}

.case-card__text strong:first-child, 
.case-card__text b:first-child {
    margin-top: 0;
}
.case-card__text ul {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}
.case-card__text ul li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 12px;
    color: var(--black);
    font-size: 16px;
    line-height: 1.45;
}
.case-card__text ul li:last-child { margin-bottom: 0; }
.case-card__text ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 1px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--red) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.2L4.8 8.5L9.5 3.8' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / 12px no-repeat;
}
.case-card__result {
    margin: 24px 0;
    padding-top: 24px;
    border-top: 1px solid #ececec;
    color: var(--gray);
    font-size: 18px;
    line-height: 1.55;
}
.case-card__result h2,
.case-card__result h3 {
    margin: 0 0 14px;
    color: var(--black);
    font-size: 22px;
    line-height: 1.25;
}
.case-card__result p {
    margin: 0 0 12px;
    color: inherit;
}
.case-card__result p:last-child {
    margin-bottom: 0;
}

/* Плашка статистики */
.case-card__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    border: 1px solid #ececec;
    border-radius: 12px;
    padding: 20px 24px;
    margin: 8px 0 28px;
    background: #fafafa;
}
.case-stat__val {
    font-size: 24px;
    font-weight: 600;
    color: var(--red);
    margin-bottom: 4px;
    line-height: 1.2;
}
.case-stat__label {
    font-size: 16px;
    color: var(--gray);
    line-height: 1.3;
}

/* Врачи */
.case-card__doctors {
    margin-top: auto;
}
.case-card__doctors-title {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;
}
.case-card__doctors-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.case-doctor {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    text-decoration: none;
    transition: background 0.2s ease;
}
.case-doctor:hover {
    background: rgba(255, 255, 255, 0.08);
}
.case-doctor__avatar {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}
.case-doctor__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.case-doctor__info {
    min-width: 0;
}
.case-doctor__name {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 4px;
}
.case-doctor__post {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.2;
}

/* Правая колонка — фото из таймлайна */
.case-timeline {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: stretch;
    padding: 24px;
    border-radius: 18px;
    background: #f5f6fb;
}
.case-step {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.case-step__meta {
    padding-top: 0;
    margin-bottom: 10px;
    min-width: 0;
}
.case-step__title {
    font-size: 18px;
    font-weight: 700;
    color: #222;
    line-height: 1.3;
    margin-bottom: 8px;
}
.case-step__text {
    font-size: 16px;
    color: #222;
    line-height: 1.4;
}
.case-step__text-wrap {
    position: relative;
}
.case-step__text-wrap.is-collapsed {
    max-height: 4.2em;
    overflow: hidden;
}
.case-step__text-wrap.is-collapsed::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2.2em;
    background: linear-gradient(to bottom, rgba(245, 246, 251, 0), #f5f6fb 85%);
    pointer-events: none;
}
.case-step__text-wrap.is-expanded {
    max-height: none;
}
.case-step__toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--red);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
}
.case-step__toggle svg {
    flex: 0 0 auto;
    transition: transform 0.25s ease;
}
.case-step__toggle.is-expanded svg {
    transform: rotate(180deg);
}
.case-step__image {
    display: block;
    width: 100%;
    min-width: 0;
    border-radius: 16px;
    overflow: hidden;
    background: #f5f5f7;
    cursor: zoom-in;
    transition: transform 0.25s ease;
}
.case-step__image:hover {
    transform: translateY(-2px);
}
.case-step__image img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}
.case-step__image:hover img {
    transform: scale(1.03);
}

/* Нижний баннер «Хотите такой же результат?» */
.case-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: #fff;
    border-radius: 16px;
    padding: 20px 28px;
    margin: 0 0 60px;
}
.case-cta__left {
    display: flex;
    align-items: center;
    gap: 20px;
}
.case-cta__icon {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    background: var(--red);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.case-cta__icon svg {
    width: 32px;
    height: 32px;
}
.case-cta__title {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 4px;
}
.case-cta__sub {
    font-size: 14px;
    color: #787878;
    line-height: 1.4;
}
.case-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 52px;
    padding: 0 24px;
    border-radius: 10px;
    background: var(--red);
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
    flex-shrink: 0;
}
.case-cta__btn:hover {
    background: #c92e22;
    color: #fff;
}
.case-cta__btn:hover svg {
    transform: translateX(3px);
}
.case-cta__btn svg {
    transition: transform 0.2s ease;
}

/* ============================================================
   Single case page (single-case.php) — header + case layout
   ============================================================ */

/* Шапка с бейджами и h1 — над карточкой */
.case-page__header {
    margin: 16px 0 24px;
}
.case-page__tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

/* Чип категории (тот же border-radius что у .badge-chip = 8px) */
.case-cat-chip {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 14px;
    border-radius: 8px;
    background: rgba(241, 59, 45, 0.10);
    color: var(--red);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1;
}

/* Секция «Врачи, которые работали над кейсом» — снаружи карточки */
.case-doctors {
    margin: 0 0 60px;
}
.case-doctors__title {
    font-size: 24px;
    font-weight: 600;
    color: var(--black);
    margin: 0 0 24px;
}
.case-doctors__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.case-doctor-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 16px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: box-shadow 0.2s, transform 0.2s;
}
.case-doctor-card__avatar {
    flex-shrink: 0;
    width: 92px;
    height: 92px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--white-gray);
}
.case-doctor-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
}
.case-doctor-card__info {
    min-width: 0;
}
.case-doctor-card__name {
    font-size: 18px;
    font-weight: 600;
    color: var(--black);
    line-height: 1.2;
    margin-bottom: 4px;
}
.case-doctor-card__post {
    font-size: 16px;
    color: var(--gray, #787878);
    line-height: 1.3;
    white-space: nowrap;   
    overflow: hidden;          
    text-overflow: ellipsis;   
}

.case-back {
    margin: 12px 0 32px;
}

@media (max-width: 1199px) {
    .case-doctors__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .case-doctor-card__post {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }
}

@media (max-width: 991px) {
    .case-page__title { font-size: 28px; }
    .case-card { grid-template-columns: 1fr; }
    .case-card__left {
        border-radius: 22px 22px 0 0;
    }
    .case-card__right {
        border-left: 0;
        border-top: 0;
    }
}
@media (max-width: 600px) {
    .case-page__title { font-size: 22px; }
    .case-card {
        border-radius: 18px;
        margin-bottom: 28px;
    }
    .case-card__left,
    .case-card__right {
        padding: 24px 18px;
    }
    .case-card__title,
    .case-card__result h2,
    .case-card__result h3 {
        font-size: 22px;
    }
    .case-card__stats { grid-template-columns: 1fr; }
    .case-timeline {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .case-doctors__list { grid-template-columns: 1fr; }
}

/* ============================================================
   Spec page (single-specs.php) — tabs, stats, education, work
   ============================================================ */
.spec-page__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}
.spec-page__tabs a {
    border-radius: 8px;
    padding: 10px 24px;
    color: var(--black);
    background: #fff;
    transition: .3s;
    text-decoration: none;
    font-size: 16px;
}
.spec-page__tabs a:hover,
.spec-page__tabs a.active {
    background: #fff;
    color: var(--red);
    transition: .3s;
}

.spec-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 24px;
}
.spec-stat-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.spec-stat-item .stat-label {
    font-size: 14px;
    color: var(--gray-white);
}
.spec-stat-item .stat-value {
    font-size: 18px;
    font-weight: 600;
    color: var(--black);
}
.spec-page__img img {
    border-radius: 12px;
    background: #fff;
}

/* Ссылка на ПроДокторов под должностью */
.spec-prodoctorov {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0 0;
    padding: 8px 14px 8px 8px;
    border-radius: 10px;
    background: rgba(22, 175, 198, 0.08);
    color: #0e7c8b;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: background .25s ease, color .25s ease;
}
.spec-prodoctorov:hover {
    background: rgba(22, 175, 198, 0.16);
    color: #0a6471;
}
.spec-prodoctorov img {
    display: block;
    width: 20px;
    height: 20px;
}

/* Блок «Хобби» в карточке описания */
.spec-hobby {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 24px;
    padding: 12px;
    border-radius: 16px;
    background: var(--white-gray);
}
.spec-hobby__icon {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.spec-hobby__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.spec-hobby__text {
    flex: 1 1 auto;
    color: var(--black);
    font-size: 16px;
    line-height: 1.5;
}
.spec-hobby__text p { margin: 0 0 6px; }
.spec-hobby__text p:last-child { margin-bottom: 0; }
.spec-hobby__text .badge-chip {
    margin-bottom: 10px;
}

/* Тизер сертификатов в описании врача */
.spec-certs-teaser {
    margin-top: 24px;
}
.spec-certs-teaser__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.spec-certs-teaser__label {
    font-size: 16px;
    font-weight: 600;
    color: var(--black);
}
.spec-certs-teaser__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--red-12);
    color: var(--red);
    font-size: 12px;
    font-weight: 700;
}
.spec-certs-teaser__stack {
    display: flex;
    align-items: flex-start;
}
.spec-certs-teaser__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    padding: 8px;
    border-radius: 10px;
    background: var(--white-gray);
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin-left: -28px;
    transition: transform .25s ease, z-index .25s ease;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.spec-certs-teaser__item:first-child {
    margin-left: 0;
}
.spec-certs-teaser__item:hover {
    transform: translateY(-3px);
    z-index: 5;
}
.spec-certs-teaser__item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 4px;
}
.spec-certs-teaser__more-link {
    display: inline-block;
    margin-top: 12px;
    color: var(--red);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px dashed var(--red);
    transition: opacity .25s ease;
}
.spec-certs-teaser__more-link:hover {
    opacity: .7;
}

/* --- Список Специализаций (Услуг) --- */
.spec-services-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.spec-service-link {
    display: block;
    width: fit-content;
    background: #fff;
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 500;
    color: #111;
    text-decoration: none;
    transition: background 0.3s, color 0.3s;
}
.spec-service-link:hover {
    background: var(--red);
    color: #fff;
}

/* --- Список Образование / Повышение квалификации / Работа --- */
.spec-education-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
}
.edu-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}
.edu-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: var(--red);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.edu-icon svg rect { fill: var(--red); }
.edu-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.edu-year {
    font-size: 18px;
    font-weight: 600;
    color: var(--black);
}
.edu-text {
    font-size: 15px;
    line-height: 1.4;
    color: var(--gray);
}

/* Раскрыватор (скрытые элементы) */
.hidden-item { display: none; }
.js-show-more-btn {
    background: none;
    border: none;
    color: var(--red);
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    border-bottom: 1px dashed var(--red);
    transition: opacity 0.3s;
}
.js-show-more-btn:hover { opacity: 0.7; }

.spec-page__top .col-4 .spec-page__img {
    position: sticky;
    top: 120px;
}


/* ============================================================
   Видео-блок главной (parts/video-block.php)
   ============================================================ */
.video-block {
    margin: 32px 0;
}
.video-block__card {
    background: var(--white, #fff);
    border-radius: 24px;
    padding: 40px;
    margin-bottom: 20px;
}
.video-block__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 40px;
    align-items: center;
}
.video-block__badge {
    margin-bottom: 24px;
}
.video-block__title {
    font-weight: 600;
    font-size: 40px;
    line-height: 1.1;
    color: var(--black);
    margin: 0 0 20px;
    letter-spacing: -0.01em;
}
.video-block__title span {
    color: var(--red);
    display: block;
}
.video-block__text {
    font-size: 18px;
    line-height: 1.5;
    color: #222;
    margin-bottom: 28px;
    max-width: 480px;
}
.video-block__bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.video-bullet {
    display: flex;
    align-items: center;
    gap: 16px;
}
.video-bullet__icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(241, 59, 45, 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.video-bullet__icon img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}
.video-bullet__text {
    font-size: 15px;
    line-height: 1.35;
    color: var(--black);
}
.video-block__doctor {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0;
    background: transparent;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    margin-top: auto;
    position: relative;
    z-index: 2;
    background: var(--white-gray);
    padding: 12px;
}

.video-block__doctor-avatar {
    flex-shrink: 0;
    width: 76px;
    height: 102px;
    overflow: visible;
    background: transparent;
    margin-top: -24px;
    margin-bottom: -8px;
    position: relative;
}
.video-block__doctor-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}
.video-block__doctor-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.video-block__doctor-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.video-block__doctor-name {
    font-weight: 500;
    font-size: 15px;
    color: var(--black);
}
.video-block__doctor-role {
    font-size: 13px;
    color: var(--gray);
}
.video-block__doctor-sign {
    flex-shrink: 0;
    max-height: 36px;
    display: inline-flex;
    align-items: center;
}
.video-block__doctor-sign img {
    max-height: 36px;
    width: auto;
    display: block;
}
.video-block__right {
    position: relative;
    max-width: 520px;
    margin-left: auto;
}
.video-block__player {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 20px;
    overflow: hidden;
    background: #000;
    display: block;
    cursor: pointer;
}
.video-block__player img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.video-block__player:hover img {
    transform: scale(1.03);
}
.video-block__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 30px rgba(241, 59, 45, 0.4);
    transition: transform 0.2s ease;
    z-index: 1;
}
.video-block__player:hover .video-block__play {
    transform: translate(-50%, -50%) scale(1.08);
}

@media (max-width: 900px) {
    .video-block__card { padding: 24px; border-radius: 20px; }
    .video-block__grid { grid-template-columns: 1fr; gap: 24px; }
    .video-block__right { max-width: none; margin-left: 0; }
    .video-block__title { font-size: 28px; }
    .video-block__play { width: 60px; height: 60px; }
}

/* ============================================================
   Унифицированная шапка секции (parts/section-head.php):
   H2 слева, CTA-ссылка + slider-nav справа.
   ============================================================ */
.section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.section-head__title {
    margin: 0;
    flex: 1;
    min-width: 0;
}
.section-head__controls {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
}
.section-head__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--red);
    font-weight: 500;
    font-size: 15px;
    text-decoration: none;
    transition: opacity 0.2s ease;
}
.section-head__link:hover {
    color: var(--red);
    opacity: 0.75;
}
.section-head__link svg {
    width: 20px;
    height: 20px;
    transition: transform 0.2s ease;
}
.section-head__link:hover svg {
    transform: translateX(3px);
}

/* Унифицированные стрелки свайпера — переопределяем поверх старых правил */
.section-head .slider-nav,
.slider-nav {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    width: auto;
}
.slider-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #e5eaf0;
    color: var(--black);
    cursor: pointer;
    padding: 0;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
    flex-shrink: 0;
}
.slider-arrow:hover {
    background: var(--red);
    border-color: var(--red);
    color: #fff;
}
.slider-arrow svg {
    width: 18px;
    height: 18px;
    display: block;
}
.slider-arrow.swiper-button-disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.slider-arrow.swiper-button-disabled:hover {
    background: #fff;
    border-color: #e5eaf0;
    color: var(--black);
}
.slider-pagination {
    font-size: 14px;
    color: var(--gray);
    font-weight: 500;
    min-width: 36px;
    text-align: center;
}

@media (max-width: 700px) {
    .section-head { gap: 12px; }
    .section-head__controls { gap: 12px; }
    .section-head__link span { display: none; }
    .section-head__link svg { width: 22px; height: 22px; }
}

/* ============================================================
   Агрегаторы отзывов (под слайдером отзывов)
   ============================================================ */
.review-aggregators {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 24px;
    padding: 8px;
    border-radius: 16px;
    background: var(--white-gray);
}
.review-agg {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    border-radius: 8px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: box-shadow 0.2s ease;
}
a.review-agg:hover {
    box-shadow: 0 2px 12px rgba(20, 20, 30, 0.06);
}
.review-agg__logo {
    display: inline-flex;
    align-items: center;
    height: 28px;
}
.review-agg__logo img {
    max-height: 28px;
    width: auto;
    display: block;
    object-fit: contain;
}
.review-agg__wordmark {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    font-size: 18px;
    line-height: 1;
    font-weight: 700;
    color: var(--black);
}
.review-agg__wordmark--yandex::first-letter {
    color: #fc3f1d;
}
.review-agg__wordmark--prodoctorov {
    color: #16afc6;
}
.review-agg__wordmark--doctu {
    color: #246bfd;
}
.review-agg__wordmark--2gis {
    color: #1fab54;
}
.review-agg__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.review-agg__rating {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
    color: var(--black);
    font-size: 15px;
}
.review-agg__rating svg {
    flex-shrink: 0;
}
.review-agg__count {
    font-size: 14px;
    color: var(--gray);
    text-decoration: underline;
    text-decoration-color: rgba(89, 83, 83, 0.3);
    text-underline-offset: 3px;
}

@media (max-width: 900px) {
    .review-aggregators { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    .review-aggregators { grid-template-columns: 1fr; }
}

/* ============================================================
   Галерея клиники (parts/gallery.php) — раскладка от .photos-clinic /
   .gallery-item уже задана выше. Здесь только подпись и play-оверлей.
   ============================================================ */
.photos-clinic__sub {
    font-size: 18px;
    line-height: 1.45;
    color: var(--gray);
    margin: -8px 0 24px;
    max-width: 720px;
}
.gallery-item { position: relative; }
.gallery-item a { position: relative; display: block; }
.gallery-item__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.95);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15);
    pointer-events: none;
}
.gallery-item__play svg { color: var(--red); }

/* ============================================================
   Карточка отзыва (parts/review.php) — структура из axioma,
   палитра подогнана под medmaket
   ============================================================ */
.review-card {
    background: #ffffff;
    border: 1px solid #f0f2f5;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}
.review-card__main {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.review-card__header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}
.review-card__avatar {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    overflow: hidden;
    background: #fce7e7;
    flex-shrink: 0;
}
.review-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.review-card__name {
    font-size: 17px;
    font-weight: 700;
    color: #111;
    margin-bottom: 4px;
}
.review-card__stars {
    display: flex;
    gap: 3px;
}
.review-card__content {
    flex-grow: 1;
    margin-bottom: 24px;
}
.review-card__text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #555;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    line-clamp: 6;
    -webkit-box-orient: vertical;
}
.review-card__show-more {
    margin-top: 8px;
}
.review-card__show-more a {
    color: var(--red);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}
.review-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: auto;
}
.review-card__date {
    font-size: 13px;
    color: #999;
}
.review-card__source img {
    height: 22px;
    width: auto;
    max-width: 132px;
    display: block;
}
.review-card__source a {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    color: var(--gray);
    text-decoration: none;
}
.review-card__source-name {
    font-size: 13px;
    line-height: 1;
    font-weight: 600;
    color: var(--gray);
}

/* --- Плашка врача внизу карточки --- */
.review-card__doctor {
    background: var(--white-gray);
    padding: 16px 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    color: #111;
    transition: background 0.2s ease;
}
.review-card__doctor:hover {
    background: #eef1f6;
}
.review-card__doctor.empty-doc {
    padding: 0;
}
.doc-mini-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    flex-shrink: 0;
}
.doc-mini-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.doc-multi-avatars {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.overlap-avatar {
    border: 2px solid var(--white-gray);
    margin-left: -12px;
}
.overlap-avatar:first-child {
    margin-left: 0;
}
.doc-mini-info {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-width: 0;
}
.doc-mini-label {
    font-size: 12px;
    color: #777;
    margin-bottom: 2px;
}
.doc-mini-name {
    font-size: 15px;
    font-weight: 600;
    color: #111;
    overflow: hidden;
    text-overflow: ellipsis;
}
.doc-mini-arrow {
    margin-left: auto;
    color: var(--red);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}
.review-card__doctor:hover .doc-mini-arrow {
    transform: translateX(4px);
}

/* ============================================================
   Слайдер кейсов на главной (parts/cases-slider.php) — карточка
   та же что в cases.php, только обёрнута в swiper.
   ============================================================ */
.cases-slider-block {
    margin: 0 0 60px;
    overflow-x: hidden;
}
.cases-slider {
    overflow: visible;
}
.cases-slider .swiper-slide {
    height: auto;
    display: flex;
}
.cases-slider .swiper-slide .case-tile {
    width: 100%;
}

/* --- Portfolio До/После слайдер (twentytwenty) --- */
.folio-slider-block {
    margin: 0 0 48px;
    overflow-x: hidden;
}
.folio-slider {
    overflow: hidden;
}
.folio-slider .swiper-slide {
    height: auto;
    display: flex;
}
.folio-slider .swiper-slide .folio-tile {
    width: 100%;
}
.folio-tile {
    display: flex;
    flex-direction: column;
    background: transparent;
    border-radius: 16px;
    overflow: hidden;
    width: 100%;
}
.folio-tile__media {
    position: relative;
    width: 100%;
    background: #ebebeb;
    overflow: hidden;
    border-radius: 16px;
}
.folio-tile__twenty,
.folio-tile .case-item__slider,
.folio-tile .twentytwenty-wrapper,
.folio-tile .twentytwenty-container {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
}
.folio-tile .twentytwenty-handle {
    z-index: 40;
    cursor: ew-resize;
}
.folio-tile .twentytwenty-wrapper,
.folio-tile .twentytwenty-container {
    position: relative;
    z-index: 2;
}
.folio-tile .case-item__slider img,
.folio-tile .twentytwenty-container img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
}
.folio-tile__img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center;
}
.folio-tile__link {
    display: block;
    width: 100%;
    position: relative;
    cursor: zoom-in;
}
.folio-tile__zoom-btn {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 30;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: zoom-in;
}
.folio-tile__zoom {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: 0 4px 12px rgba(242, 59, 45, 0.35);
    transition: transform .2s ease, box-shadow .2s ease;
    pointer-events: none;
}
.folio-tile__zoom-btn:hover .folio-tile__zoom,
.folio-tile__link:hover .folio-tile__zoom {
    transform: scale(1.06);
    box-shadow: 0 6px 16px rgba(242, 59, 45, 0.45);
}
.folio-tile__link .folio-tile__zoom {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 3;
}
.folio-tile__zoom-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
.folio-tile__play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: none;
}
.folio-tile__body {
    padding: 14px 4px 4px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.folio-tile__title {
    margin: 0;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--black);
}
.folio-slider-block__disclaimer {
    margin-top: 16px;
}
.folio-slider-block__disclaimer p {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: var(--gray);
}

@media (max-width: 991px) {
    .folio-tile .case-item__slider img,
    .folio-tile .twentytwenty-container img,
    .folio-tile__img {
        height: 240px;
    }
}
@media (max-width: 600px) {
    .folio-tile .case-item__slider img,
    .folio-tile .twentytwenty-container img,
    .folio-tile__img {
        height: 260px;
    }
}

.cta-block {
    margin-bottom: 60px;
}

/* ============================================================
   Site footer (footer.php) — тёмная градиентная панель внутри
   .container, белая плашка с контактами сверху.
   ============================================================ */
.medmaket-legacy-footer.site-footer {
    background: transparent;
    padding: 0;
    border-radius: 0;
    margin-top: 60px;
}
.site-footer__panel {
    background: #1f2024;
    background: radial-gradient(118.8% 141.42% at 0% 0%, #545664 0%, #313242 100%);
    border-radius: 24px;
    padding: 8px;
    color: rgba(255, 255, 255, 0.7);
    overflow: hidden;
}

/* --- Белая плашка с контактами и CTA --- */
.site-footer__plate {
    background: #fff;
    border-radius: 16px;
    padding: 24px 44px;
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
    color: var(--black);
    margin-bottom: 16px;
}
.site-footer__logo {
    flex-shrink: 0;
    display: inline-block;
}
.site-footer__logo img {
    display: block;
    max-height: 56px;
    width: auto;
}
.site-footer__contact {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.site-footer__phone {
    font-weight: 700;
    font-size: 20px;
    color: var(--black);
    text-decoration: none;
    line-height: 1.2;
}
.site-footer__phone:hover {
    color: var(--red);
}
.site-footer__schedule {
    font-size: 13px;
    color: var(--gray);
}
.site-footer__address {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    color: var(--black);
}
.site-footer__address svg {
    color: var(--red);
    flex-shrink: 0;
}
.site-footer__socials {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
.site-footer__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--white-gray);
    color: var(--black);
    transition: background 0.2s ease, color 0.2s ease;
}
.site-footer__social:hover {
    background: var(--red);
    color: #fff;
}
.site-footer__cta {
    display: inline-flex;
    align-items: center;
    height: 52px;
    padding: 0 28px;
    border-radius: 12px;
    background: var(--red);
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: background 0.2s ease;
}
.site-footer__cta:hover {
    background: #c92e22;
    color: #fff;
}

.site-footer__menus {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 28px 48px;
    padding: 22px 36px 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.site-footer__menu-title {
    margin-bottom: 14px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
}
.site-footer__menu ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.site-footer__menu a {
    color: rgba(255, 255, 255, 0.76);
    font-size: 14px;
    line-height: 1.35;
    text-decoration: none;
    transition: color 0.2s ease;
}
.site-footer__menu a:hover {
    color: #fff;
}

/* --- Нижняя строка с копирайтом и ссылками --- */
.site-footer__row {
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
    padding: 32px 36px 24px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
}
.site-footer__copy {
    color: rgba(255, 255, 255, 0.6);
}
.site-footer__link {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.25);
    text-underline-offset: 3px;
}
.site-footer__link:hover {
    color: #fff;
    text-decoration-color: rgba(255, 255, 255, 0.7);
}
.site-footer__license {
    margin-left: auto;
    color: rgba(255, 255, 255, 0.85);
}

/* --- 18+ + агентство --- */
.site-footer__bottom {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 16px 36px 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.site-footer__warn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
}
.site-footer__age {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--red);
    color: #fff;
    font-weight: 700;
    font-size: 13px;
}
.site-footer__agency {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 13px;
    line-height: 1.3;
}
.site-footer__agency:hover {
    color: #fff;
}
.site-footer__agency img {
    height: 30px;
    width: auto;
    display: block;
    flex-shrink: 0;
}

/* --- Адаптив --- */
@media (max-width: 900px) {
    .site-footer__plate {
        padding: 20px 24px;
        gap: 20px;
    }
    .site-footer__socials { margin-left: 0; }
    .site-footer__cta {
        width: 100%;
        justify-content: center;
    }
    .site-footer__menus {
        grid-template-columns: 1fr;
        padding: 22px 20px;
        gap: 24px;
    }
    .site-footer__menu ul {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .site-footer__row { padding: 24px 20px 16px; gap: 16px; }
    .site-footer__license { margin-left: 0; width: 100%; }
    .site-footer__bottom { padding: 16px 20px 20px; flex-direction: column; align-items: flex-start; gap: 16px; }
    .site-footer__agency { margin-left: 0; }
}

/* ============================================================
   Модалка записи на консультацию (#lead-modal) — двухколоночная
   ============================================================ */
.lead-modal .lead-modal__content {
    padding: 0;
    background: transparent;
    border-radius: 24px;
    overflow: hidden;
    max-width: 1100px;
    width: 95%;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    position: relative;
}
.lead-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 5;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1a1a1a;
    cursor: pointer;
    transition: background 0.2s ease;
}
.lead-modal__close:hover {
    background: #fff;
}

/* --- Левая колонка с врачом --- */
.lead-modal__left {
    position: relative;
    background: #f5efe9 center/cover no-repeat;
    overflow: hidden;
    min-height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
}
.lead-modal__doctor {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    max-width: 88%;
    max-height: 92%;
    width: auto;
    height: auto;
    z-index: 1;
    pointer-events: none;
}
.lead-modal__card {
    position: relative;
    z-index: 2;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(8px);
    border-radius: 16px;
    padding: 16px 20px;
    margin-bottom: 12px;
}
.lead-modal__card-name {
    font-weight: 700;
    font-size: 18px;
    color: var(--black);
    line-height: 1.2;
    margin-bottom: 2px;
}
.lead-modal__card-role {
    font-size: 14px;
    color: var(--gray);
    margin-bottom: 10px;
}
.lead-modal__card-exp {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--gray);
    padding-top: 8px;
    border-top: 1px solid #efefef;
}

/* --- Правая колонка с формой --- */
.lead-modal__right {
    padding: 40px;
    background: #fff;
    display: flex;
    flex-direction: column;
}
.lead-modal__badge {
    align-self: flex-start;
    margin-bottom: 14px;
}
.lead-modal__title {
    font-weight: 700;
    font-size: 28px;
    line-height: 1.15;
    color: var(--black);
    margin: 0 0 12px;
}
.lead-modal__sub {
    font-size: 14px;
    line-height: 1.5;
    color: var(--gray);
    margin-bottom: 24px;
}
.lead-modal__form {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.lead-form__field label {
    display: block;
    font-weight: 500;
    font-size: 14px;
    color: var(--black);
    margin-bottom: 6px;
}
.lead-form__input {
    position: relative;
    display: block;
}
.lead-modal .lead-form__input input,
.lead-modal .lead-form__input select,
.lead-form__input input,
.lead-form__input select {
    width: 100%;
    height: 52px;
    line-height: normal;
    padding: 0 44px 0 18px;
    border: 1px solid #e5eaf0;
    border-radius: 10px;
    background: #fafbfc;
    font-size: 15px;
    color: var(--black);
    font-family: inherit;
    transition: border-color 0.2s ease, background 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
}
.lead-form__input input::placeholder {
    color: #a8a8a8;
}
.lead-modal .lead-form__input input:focus,
.lead-modal .lead-form__input select:focus,
.lead-form__input input:focus,
.lead-form__input select:focus {
    outline: none;
    border-color: var(--red);
    background: #fff;
}
.lead-form__icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #a8a8a8;
    pointer-events: none;
}
.lead-form__select .lead-form__icon {
    color: var(--black);
}
.lead-form__terms {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--gray);
    cursor: pointer;
    margin-top: 4px;
}
.lead-form__terms input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    border-radius: 4px;
    border: 1.5px solid #cdd2d8;
    background: #fff;
    cursor: pointer;
    position: relative;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.lead-form__terms input[type="checkbox"]:checked {
    background: var(--red);
    border-color: var(--red);
}
.lead-form__terms input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'><path d='M3 7l3 3 5-6' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/14px no-repeat;
}
.lead-form__terms a {
    color: var(--red);
    text-decoration: none;
}
.lead-form__terms a:hover { text-decoration: underline; }
.lead-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    height: 56px;
    padding: 0 28px;
    border: none;
    border-radius: 12px;
    background: var(--red);
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    margin-top: 4px;
    transition: background 0.2s ease, transform 0.2s ease;
}
.lead-form__submit:hover {
    background: #c92e22;
}
.lead-form__submit svg {
    transition: transform 0.2s ease;
}
.lead-form__submit:hover svg {
    transform: translateX(3px);
}
.lead-form__note {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--gray);
    margin-top: 6px;
}
.lead-form__note svg {
    flex-shrink: 0;
}
@media (max-width: 991px) {
    .about-block__image {
        width: 100%;
    }
}
@media (max-width: 900px) {
    .about-block__image {}
    .lead-modal .lead-modal__content {
        grid-template-columns: 1fr;
        max-width: 500px;
    }
    .lead-modal__left {
        min-height: 320px;
        order: 2;
        display: none;
    }
    .lead-modal__right {
        padding: 28px 24px;
    }
}

/* ============================================================
   MOBILE (≤991px) — корректировка верстки главной + новая шапка
   ============================================================ */

/* Новый красный бургер (всегда — но активен на мобильных) */
.hamburger.hamburger--simple {
    width: 40px;
    height: 40px;
    padding: 10px;
    border-radius: 8px;
    background: var(--red);
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s ease;
}
.hamburger.hamburger--simple:hover {
    background: #c92e22;
}
.hamburger__lines {
    position: relative;
    width: 20px;
    height: 16px;
    display: inline-block;
}
.hamburger__lines span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform 0.25s ease, top 0.25s ease, opacity 0.2s ease;
}
.hamburger__lines span:nth-child(1) { top: 4px; }
.hamburger__lines span:nth-child(2) { top: 10px; }

/* Превращение в крестик при is-active */
.hamburger.is-active .hamburger__lines span:nth-child(1) {
    top: 7px;
    transform: rotate(45deg);
}
.hamburger.is-active .hamburger__lines span:nth-child(2) {
    top: 7px;
    transform: rotate(-45deg);
}

@media (max-width: 991px) {

    /* ====== HEADER ровно 60px, одна строка: лого + MAX + бургер ====== */
    .medmaket-legacy-header {
        position: fixed !important;
        padding: 0 !important;
    }
    .medmaket-legacy-header .header__in {
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 0 14px !important;
        height: 60px !important;
        min-height: 60px !important;
        max-width: 100% !important;
        border-radius: 0 0 16px 16px !important;
    }
    /* Распаковываем оба ряда в одну строку */
    .header__in .header__top,
    .header__in .header__middle {
        display: contents !important;
        margin: 0;
        background: transparent;
        padding: 0;
    }
    /* Прячем всё кроме лого, MAX-социалки и бургера */
    .header__top .header__place,
    .header__top .header__address,
    .header__top .header__metro,
    .header__top .header__phone,
    .header__top .header__schedule,
    .header__top .header__slabo,
    .header__middle .header__nav,
    .header__middle .header__search-group {
        display: none !important;
    }
    /* Скролл-trans CSS которое скрывало top — отключаем */
    .medmaket-legacy-header.header_scroll .header__in .header__top {
        max-height: none !important;
        opacity: 1 !important;
        margin-bottom: 0 !important;
    }
    .header__brand {
        flex: 0 0 auto !important;
        margin-right: auto !important;
    }
    .header__brand img {
        max-height: 36px !important;
        width: auto !important;
        display: block;
    }
    .header__social {
        display: inline-flex !important;
        gap: 5px;
        align-items: center;
        margin: 0 !important;
    }
    .header__in .header__social a {
        width: 34px;
        height: 34px;
        border-radius: 10px;
        background: rgba(241, 59, 45, 0.06);
        border-color: rgba(241, 59, 45, 0.16);
    }
    .header__in .header__social svg {
        width: 19px;
        height: 19px;
    }
    .header__in .header__social-max svg {
        width: 21px;
        height: 21px;
    }
    .header__in .header__social-phone {
        display: inline-flex !important;
        order: -1;
    }
    .header__in .header__social-tg {
        display: inline-flex !important;
    }
    .header__social-max {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--red);
    }
    .header__menu {
        display: inline-flex !important;
        margin: 0 !important;
        position: relative;
        z-index: 5;
        pointer-events: auto;
    }
    .header__menu .hamburger {
        position: relative;
        z-index: 6;
        pointer-events: auto;
    }

    /* Body offset под фиксированной шапкой на главной — 60px */
    body.home {
        padding-top: 0 !important;
    }
    .service-intro--front .service-intro__inner {
        padding: 76px 16px 20px !important;
    }
    .service-intro {
        margin-bottom: 20px !important;
        border-radius: 0 0 20px 20px !important;
    }

    /* ====== HERO ====== */
    .service-intro--front .service-intro__row {
        display: flex !important;
        flex-direction: column;
        gap: 16px;
    }
    .service-intro--front .service-intro__title {
        font-size: 32px !important;
        line-height: 1.15;
        text-align: left;
    }
    .service-intro--front .service-intro__subtitle {
        font-size: 16px;
        line-height: 1.45;
    }
    .hero-front__person {
        order: 3;
    }
    .service-intro--front .service-intro__center {
        margin-right: 0;
        justify-content: center;
    }
    .hero-front__person-img {
        max-width: 100%;
        height: auto;
        display: block;
        transform: none;
    }
    .hero-front__bullets {
        max-width: 100%;
    }
    .hero-front__bullets li { font-size: 15px; }
    .hero-front__promos {
        order: 4;
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .hero-promo {
        padding: 16px !important;
    }

    /* ====== Stats (под Hero) ====== */
    .service-stats--front .stat-card {
        padding: 14px;
    }
    .service-stats--front .stat-card__val {
        font-size: 14px;
    }

    /* ====== About-perio ====== */
    .about-block__inner {
        grid-template-columns: 1fr !important;
        gap: 16px;
    }
    .about-block__image {
        width: 100%;
        height: auto;
    }
    .about-block__text { font-size: 16px !important; }

    /* ====== Видео-блок ====== */
    .video-block__card { padding: 20px !important; border-radius: 18px; }
    .video-block__title { font-size: 26px !important; }
    .video-block__text { font-size: 16px; }
    .video-block__bullets { gap: 12px; }
    .video-block__doctor {
        gap: 10px;
        padding: 10px;
        flex-wrap: nowrap;
    }
    .video-block__doctor-avatar {
        width: 56px;
        height: 56px;
        margin-top: -12px;
        margin-bottom: -4px;
    }
    .video-block__doctor-name { font-size: 14px; }
    .video-block__doctor-role { font-size: 12px; }
    .video-block__doctor-sign { display: none !important; }
    .video-block__right { max-width: 100% !important; margin-left: 0 !important; }
    .video-block__play { width: 56px; height: 56px; }

    /* ====== Section-head (заголовки секций) ====== */
    .section-head {
        gap: 12px;
        margin-bottom: 16px;
        align-items: flex-start;
    }
    .section-head__title {
        font-size: 24px;
        line-height: 1.2;
    }
    .section-head__controls {
        gap: 8px;
        flex-wrap: nowrap;
    }
    .section-head__link span { display: none; }
    .slider-arrow {
        width: 36px;
        height: 36px;
    }
    .slider-arrow svg {
        width: 16px;
        height: 16px;
    }
    .slider-pagination {
        font-size: 13px;
        min-width: 30px;
    }

    /* ====== Cases slider карточка ====== */
    .case-tile__media {
        height: 220px;
    }
    .case-tile__title { font-size: 17px; }

    /* ====== Reviews ====== */
    .review-card__main { padding: 18px; }
    .review-card__name { font-size: 16px; }
    .review-card__text { font-size: 14px; -webkit-line-clamp: 5; line-clamp: 5; }

    /* ====== Aggregator ====== */
    .review-aggregators {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
        padding: 6px;
    }
    .review-agg {
        padding: 12px;
        gap: 8px;
    }
    .review-agg__row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    /* ====== Galery ====== */
    .photos-clinic__sub { font-size: 14px; }

    /* ====== Footer plate ====== */
    .site-footer__panel { padding: 6px; }
    .site-footer__plate {
        padding: 16px 18px;
        gap: 14px;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }
    .site-footer__logo img { max-height: 40px; }
    .site-footer__phone { font-size: 18px; }
    .site-footer__address { font-size: 14px; }
    .site-footer__socials {
        margin-left: 0;
        order: 0;
        position: static;
    }
    .site-footer__cta {
        width: 100%;
        justify-content: center;
        height: 48px;
    }
    .site-footer__menus {
        grid-template-columns: 1fr;
        padding: 20px 18px;
        gap: 22px;
    }
    .site-footer__menu ul {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .site-footer__menu-title {
        margin-bottom: 10px;
        font-size: 16px;
    }
    .site-footer__row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 20px 18px 16px;
    }
    .site-footer__license { margin-left: 0; }
    .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        padding: 16px 18px 18px;
    }
    .site-footer__agency { margin-left: 0; }

    /* ====== Container padding ====== */
    .container,
    .container-fluid {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* ====== Card padding на мобиле ====== */
    .card { padding: 24px !important; border-radius: 20px !important; }
}

@media (max-width: 600px) {
    .service-intro--front .service-intro__title { font-size: 28px !important; }
    .section-head__title { font-size: 20px; }
    .video-block__title { font-size: 22px !important; }
    .review-aggregators { grid-template-columns: 1fr; }
    .case-tile__media { height: 200px; }
    .card { padding: 16px !important; }
}

/* ───── Универсальная галерея на странице услуги ───── */
.text-red { color: var(--red); }

.service-gallery-card { overflow: hidden; }
.service-gallery-block { position: relative; }

.service-gallery__title {
    text-align: center;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 600;
    margin: 0 auto 32px;
    max-width: 980px;
}
.service-gallery__title p { margin: 0; }
.service-gallery__title .text-red { color: var(--red); }

.service-gallery-slider {
    padding-bottom: 8px;
    overflow: hidden;
}
.service-gallery-pagination {
    position: relative !important;
    margin-top: 22px;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
}
.service-gallery-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 5px !important;
    background: #d0d0d0;
    opacity: 1;
    border-radius: 50%;
    transition: width .25s ease, background .25s ease, border-radius .25s ease;
}
.service-gallery-pagination .swiper-pagination-bullet-active {
    width: 22px;
    height: 8px;
    border-radius: 100px;
    background: var(--red);
}

.service-gallery-slide {
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: 100%;
}

.service-gallery-slide__media {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 16px;
    aspect-ratio: 4 / 3;
    background: #f1ece4;
}
.service-gallery-slide__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    transition: transform .35s ease;
}
.service-gallery-slide__media:hover img { transform: scale(1.04); }

.service-gallery-slide__zoom {
    position: absolute;
    right: 14px;
    bottom: 14px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: 0 4px 12px rgba(242, 59, 45, 0.35);
    pointer-events: none;
}

.service-gallery-slide__text {
    font-size: 17px;
    line-height: 1.4;
    color: #131316;
}

.service-gallery-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-top: 26px;
}

@media (max-width: 991px) {
    .service-gallery__title { font-size: 26px; margin-bottom: 24px; }
    .service-gallery-slide__zoom { width: 28px; height: 28px; right: 10px; bottom: 10px; }
}
@media (max-width: 600px) {
    .service-gallery__title { font-size: 22px; }
    .service-gallery-slide__text { font-size: 15px; }
}

/* ───── Унифицированные стрелки слайдеров ─────
   Активная (есть куда листать)  — красный chevron (var(--red))
   Неактивная (.swiper-button-disabled) — серый chevron (var(--gray))
   Без рамки. Внутренние inline-SVG в кнопках скрыты — используется
   единый chevron через mask-image, ориентация задаётся вращением. */
.slider-arrow,
.swiper-arrow,
.swiper-button-prev,
.swiper-button-next {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 10px;
    border-radius: 100px;
    border: none !important;
    background: var(--red-12);
    color: var(--red);
    cursor: pointer;
    box-sizing: border-box;
    transition: color .2s ease, background .2s ease;
    flex-shrink: 0;
    opacity: 1 !important;
}
.slider-arrow > svg,
.swiper-arrow > svg,
.swiper-button-prev > svg,
.swiper-button-next > svg {
    display: none !important;
}
.slider-arrow::before,
.swiper-arrow::before,
.swiper-button-prev::before,
.swiper-button-next::before {
    content: '';
    width: 6px;
    height: 10px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath d='M4.91667 0.75L0.75 4.91667L4.91667 9.08333' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
            mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath d='M4.91667 0.75L0.75 4.91667L4.91667 9.08333' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}
.slider-next::before,
.swiper-next::before,
.swiper-button-next::before {
    transform: rotate(180deg);
}
.swiper-button-prev::after,
.swiper-button-next::after { display: none !important; }

.slider-arrow.swiper-button-disabled,
.swiper-arrow.swiper-button-disabled,
.swiper-button-disabled {
    color: var(--gray);
    background: transparent;
    cursor: not-allowed;
}

figcaption {
    display: none;
}
.expert__text-in em {
    font-style: normal;
}


/* ───── Expert: compact view ───── */
.card.card_purple.card_expert--compact { padding: 52px; }
.card.card_purple .expert__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}
.card.card_purple .expert__title-row .expert__title { margin: 0; }
.card.card_purple .expert__title-row .expert__quote { margin: 0; line-height: 0; }

.card.card_purple .expert__doctor.video-block__doctor {
    margin-top: 24px;
    align-items: center;
    gap: 16px;
}
.card.card_purple .expert__doctor .video-block__doctor-name {
    text-decoration: none;
}
.card.card_purple .expert__doctor .expert__logo img {
    max-height: 28px;
    width: auto;
    opacity: .85;
}
.card.card_purple .expert__doctor .expert__doctor-btn {
    margin-left: auto;
    background: var(--red);
    color: #fff;
    border: 0;
    height: 44px;
    padding: 0 22px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}
.card.card_purple .expert__doctor .expert__doctor-btn:hover { background: #d83327; }

@media (max-width: 700px) {
    .card.card_purple .expert__title-row .expert__quote svg { width: 28px; height: auto; }
    .card.card_purple .expert__doctor.video-block__doctor { flex-wrap: wrap; }
    .card.card_purple .expert__doctor .expert__logo { display: none; }
    .card.card_purple .expert__doctor .expert__doctor-btn {
        margin-left: 0;
        width: 100%;
        justify-content: center;
        order: 10;
    }
}

/* ───── Expert: extended view ───── */
.card.card_expert--ext {
    background: transparent;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

.expert-ext__head {
    text-align: center;
    margin-bottom: 24px;
}
.expert-ext__title {
    font-size: 44px;
    line-height: 1.1;
    font-weight: 600;
    margin: 0 0 10px;
    color: var(--black);
}
.expert-ext__title .text-red { color: var(--red); }
.expert-ext__subtitle {
    margin: 0;
    font-size: 18px;
    color: var(--gray);
}

.expert-ext {
    position: relative;
    background-color: #fff;
    background-image: url(/img/expert-bg.jpg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    border-radius: 24px;
    overflow: hidden;
}
.expert-ext__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    min-height: 480px;
}
.expert-ext__content {
    padding: 40px 40px 40px 48px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 640px;
    z-index: 2;
}
.expert-ext__name {
    margin: 0;
    font-size: 20px;
    line-height: 1.15;
    font-weight: 500;
}
.expert-ext__person {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--white-gray);
    padding: 14px;
    border-radius: 8px;
}
.expert-ext__role {
    font-size: 15px;
    line-height: 1.4;
    color: var(--black);
}
.expert-ext__role-text {
    font-weight: 400;
    color: var(--black);
    max-width: 400px;
}
.expert-ext__spec {
    display: block;
    max-width: 320px;
    font-size: 14px;
    line-height: 1.4;
    color: #2f6fdc;
}
.expert-ext__spec em {
    font-style: italic;
    display: block;
}

.expert-ext__quote {
    position: relative;
}
.expert-ext__quote-mark {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--red);
    line-height: 0;
}
.expert-ext__quote-mark svg { width: 34px; height: 24px; }
.expert-ext__quote-text {
    padding-left: 60px;
    font-size: 18px;
    line-height: 1.55;
    color: var(--black);
}
.expert-ext__quote-text p { margin: 0 0 12px; }
.expert-ext__quote-text p:last-child { margin-bottom: 0; }

.expert-ext__memo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(47, 111, 220, 0.08);
    color: var(--black);
    padding: 10px 18px;
    border-radius: 100px;
    font-size: 15px;
    width: max-content;
    max-width: 100%;
}
.expert-ext__memo-icon {
    width: 22px;
    height: 22px;
    color: #2f6fdc;
    flex-shrink: 0;
}
.expert-ext__memo-text { display: inline; }
.expert-ext__memo-text p { display: inline; margin: 0; }
.expert-ext__memo-text a { color: #2f6fdc; }

.expert-ext__cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-top: 6px;
}

.expert-ext__media {
    position: relative;
    align-self: end;
    justify-self: end;
    display: block;
    width: 100%;
    max-width: 580px;
}
.expert-ext__photo {
    position: relative;
    display: block;
    max-height: 640px;
    line-height: 0;
}
.expert-ext__photo img {
    display: block;
    height: 100%;
    width: auto;
    max-width: 100%;
    max-height: 640px;
    object-fit: contain;
    object-position: right bottom;
}
.expert-ext__person {
    position: absolute;
    left: 16px;
    bottom: 16px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(6px);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(19, 19, 22, 0.08);
    text-decoration: none;
    max-width: calc(100% - 32px);
}
.expert-ext__person:hover { background: #fff; }
.expert-ext__person .expert-ext__name { font-size: 18px; }
.expert-ext__person .expert-ext__role-text { font-size: 13px; color: var(--gray); }

.expert-ext__exp-badge {
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    border-radius: 16px;
    padding: 12px 18px 12px 14px;
    box-shadow: 0 18px 40px rgba(19, 19, 22, 0.12);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    z-index: 3;
}
.expert-ext__exp-badge-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(242, 59, 45, 0.12);
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.expert-ext__exp-badge-text { display: flex; flex-direction: column; line-height: 1.15; }
.expert-ext__exp-badge-text small { color: var(--gray); font-size: 13px; }
.expert-ext__exp-badge-text b { color: var(--black); font-size: 15px; font-weight: 600; }

@media (max-width: 991px) {
    .expert-ext__title { font-size: 32px; }
    .expert-ext__inner { grid-template-columns: 1fr; min-height: 0; }
    .expert-ext__content { padding: 28px 24px; max-width: none; }
    .expert-ext__spec { max-width: none; }
    .expert-ext__media {
        order: -1;
        justify-self: center;
        max-width: 100%;
    }
    .expert-ext__photo { height: 320px; }
    .expert-ext__photo img { height: 100%; width: auto; object-position: center bottom; }
    .expert-ext__exp-badge {
        position: static;
        transform: none;
        margin: 16px 24px 0;
        width: max-content;
    }
}
@media (max-width: 600px) {
    .expert-ext__title { font-size: 26px; }
    .expert-ext__name { font-size: 24px; }
    .expert-ext__cta { flex-direction: column; align-items: stretch; gap: 12px; }
    .expert-ext__cta .btn { width: 100%; }
}

/* ─── Мобильные правки страницы услуги и общих блоков ─── */
@media (max-width: 991px) {
    /* Hero: статистика «бенефитов» перестаёт быть absolute и встаёт в поток */
    .service-intro__bens {
        position: static;
        margin-top: 24px;
    }
    .service-intro__inner {
        padding: 80px 16px 24px;
    }
    /* Заголовки внутри карточек контента — меньше */
    .service-content .in-text-block h2 { font-size: 24px; }
    .service-content .in-text-block h3 { font-size: 20px; }

    /* На больших картах убираем скругление, чтобы прижимались к краям */
    .card { border-radius: 0; }

    /* Расширенная карточка эксперта: контент в одну колонку, фото снизу,
       плашка автора не вылезает за пределы */
    .card.card_expert--ext {
        background: #fff;
    }
    .card.card_expert--ext .expert-ext {
        background: #fff;
        background-image: none;
        border-radius: 0;
    }
    .card.card_expert--ext .expert-ext__inner { gap: 0; }
    .card.card_expert--ext .expert-ext__content {
        padding: 24px 16px;
        gap: 14px;
        order: 2;
    }
    .card.card_expert--ext .expert-ext__media {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        max-width: none;
        padding: 16px 16px 0;
        order: 1;
    }
    .card.card_expert--ext .expert-ext__photo {
        display: flex;
        justify-content: center;
        width: 100%;
        height: 280px;
    }
    .card.card_expert--ext .expert-ext__photo img {
        max-height: 100%;
        width: auto;
        object-fit: contain;
        object-position: center bottom;
    }
    .card.card_expert--ext .expert-ext__person {
        position: static;
        width: 100%;
        max-width: none;
        margin-top: 12px;
        box-shadow: none;
        background: #f5f6fb;
        backdrop-filter: none;
    }
    .card.card_expert--ext .expert-ext__quote-text {
        padding-left: 42px;
        font-size: 15px;
    }
    .card.card_expert--ext .expert-ext__quote-mark svg {
        width: 26px;
        height: auto;
    }
    .card.card_expert--ext .expert-ext__memo {
        width: 100%;
        align-items: flex-start;
        border-radius: 14px;
    }
    .card.card_expert--ext .expert-ext__cta,
    .card.card_expert--ext .expert-ext__cta .btn {
        width: 100%;
    }

    /* Шапка: лого с автоматической высотой, чтобы не схлопывалось */
    .header__in .header__brand { height: auto; }

    /* Нав-стрелки слайдеров — небольшой отступ сверху на мобайле */
    .slider-nav { margin-top: 12px; }
    .specs-slider-nav { margin-top: 12px; }

    /* CTA-блок: вертикальная компоновка, отступы между элементами */
    .cta-block { padding: 24px 16px; gap: 16px; }
    .cta-block .cta__content { gap: 12px; }
    .cta-block .form__submit,
    .cta-block .form__submit button,
    .cta-form .form__submit,
    .cta-form .form__submit button { width: 100%; }

    /* Симптомы: табы получают вертикальный отступ */
    .symptom-tabs { margin-top: 12px; }
}

@media (max-width: 600px) {
    .service-content .in-text-block h2 { font-size: 22px; }
    .service-content .in-text-block h3 { font-size: 18px; }
    .service-intro__inner { padding: 64px 12px 20px; }
    .cta-block { padding: 20px 14px; }
}

/* ───── Услуги: меню (parts/services-megamenu.php) ───── */
.services-megamenu {
    position: fixed;
    top: var(--megamenu-top, 100px);
    left: 50%;
    z-index: 1000;
    width: calc(100% - 32px);
    max-width: 1320px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -8px);
    transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}
.services-megamenu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
    transition: opacity .22s ease, transform .22s ease, visibility 0s linear 0s;
}
body.is-megamenu-open { /* зарезервировано — раньше блокировали скролл, сейчас не нужно */ }

.services-megamenu__inner {
    position: relative;
    width: 100%;
    background: #fff;
    border-radius: 24px;
    padding: 52px;
    box-shadow: 0 24px 60px rgba(19, 19, 22, 0.18);
    max-height: calc(100vh - var(--megamenu-top, 100px) - 24px);
    overflow-y: auto;
}
.services-megamenu__close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(241, 59, 45, 0.08);
    border: none;
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s ease;
}
.services-megamenu__close:hover { background: rgba(241, 59, 45, 0.16); }

.services-megamenu__row {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 56px;
}

.services-megamenu__sidebar { display: flex; flex-direction: column; gap: 16px; }
.services-megamenu__title { margin: 0 0 8px; font-size: 36px; font-weight: 700; line-height: 1.15; color: var(--black); }
.services-megamenu__group {
    background: #f7f7f8;
    border-radius: 16px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.services-megamenu__group-title { font-weight: 600; font-size: 16px; color: var(--black); margin-bottom: 4px; }
.services-megamenu__parents { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.services-megamenu__parent { list-style: none; }
.services-megamenu__parent-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--black);
    text-decoration: none;
    font-size: 15px;
    transition: background .15s ease, color .15s ease;
    cursor: pointer;
}
.services-megamenu__parent-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.services-megamenu__parent-count { color: var(--gray); font-size: 13px; flex-shrink: 0; }
.services-megamenu__parent-arrow { color: var(--gray); display: inline-flex; flex-shrink: 0; }
.services-megamenu__parent-link:hover { background: #fff; }
.services-megamenu__parent.is-active .services-megamenu__parent-link {
    background: rgba(241, 59, 45, 0.08);
    color: var(--red);
}
.services-megamenu__parent.is-active .services-megamenu__parent-count,
.services-megamenu__parent.is-active .services-megamenu__parent-arrow { color: var(--red); }

.services-megamenu__all { margin-top: 6px; text-align: center; }

.services-megamenu__content { min-width: 0; display: flex; }
.services-megamenu__pane { display: none; }
.services-megamenu__pane.is-active {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 100%;
}
.services-megamenu__pane-title {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 26px;
    font-weight: 700;
    color: var(--black);
    text-decoration: none;
    margin: 0 0 28px;
}
.services-megamenu__pane-title:hover { color: var(--red); }
.services-megamenu__pane-arrow {
    flex-shrink: 0;
    width: 10px;
    height: 18px;
    color: currentColor;
    transform: translateY(1px);
}
.services-megamenu__pane-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 14px;
}
.services-megamenu__child {
    color: var(--black);
    text-decoration: none;
    font-size: 15px;
    line-height: 1.4;
    transition: color .15s ease;
}
.services-megamenu__child:hover { color: var(--red); text-decoration: underline; text-underline-offset: 4px; }
.services-megamenu__pane-empty { color: var(--gray); font-size: 14px; }

.services-megamenu__doctors {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 16px;
    margin-top: auto;
    padding-top: 24px;
}
.services-megamenu__doctor {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}
.services-megamenu__doctor-photo {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    background: #f7e9e8;
    display: flex;
    justify-content: center;
}
.services-megamenu__doctor-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}
.services-megamenu__doctor-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.services-megamenu__doctor-name {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--black);
}
.services-megamenu__doctor-role {
    font-size: 12px;
    line-height: 1.25;
    color: var(--gray);
}
.services-megamenu__doctor:hover .services-megamenu__doctor-name { color: var(--red); }

@media (max-width: 1100px) {
    .services-megamenu__row { grid-template-columns: 280px 1fr; gap: 32px; }
    .services-megamenu__inner { padding: 40px; }
    .services-megamenu__pane-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .services-megamenu__doctors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .services-megamenu { padding: 12px; }
    .services-megamenu__inner { padding: 28px 20px; border-radius: 16px; }
    .services-megamenu__row { grid-template-columns: 1fr; gap: 24px; }
    .services-megamenu__pane-grid { grid-template-columns: 1fr; }
    .services-megamenu__title { font-size: 28px; }
    .services-megamenu__pane-title { font-size: 22px; margin-bottom: 18px; }
    .services-megamenu__doctors { display: none; }
}

/* ============================================================
   Myths / Reality content block (порт из stroi, адаптировано под medmaket)
   ============================================================ */
.myths-reality {
    margin: 40px 0;
}
.myths-reality__layout {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 72px;
    align-items: start;
}
.myths-reality__aside {
    position: sticky;
    top: 112px;
}
.single-post .myths-reality__layout {
    display: block;
}
.single-post .myths-reality__aside {
    position: relative;
    top: inherit;
}
.myths-reality__title {
    margin: 0 0 24px;
}
.myths-reality__subtitle {
    margin-bottom: 44px;
    font-size: 18px;
    line-height: 125%;
}
.myths-reality__author {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 38px;
    padding-bottom: 34px;
    border-bottom: 1px solid #e7e7e7;
}
.myths-reality__author-img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top center;
    flex-shrink: 0;
}
.myths-reality__author-name {
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 22px;
    line-height: 120%;
    color: var(--black);
}
.myths-reality__author-position {
    font-weight: 400;
    font-size: 17px;
    line-height: 135%;
    color: var(--gray);
}
.myths-reality__note {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin-top: 34px;
}
.myths-reality__note-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(242, 59, 45, 0.10);
    color: var(--red);
}
.myths-reality__note-icon svg {
    width: 24px;
    height: 24px;
}
.myths-reality__note-text.text-block {
    font-size: 15px;
    line-height: 1.45;
    color: var(--gray);
}
.myths-reality__note-text.text-block p {
    margin-bottom: 10px;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}
.myths-reality__note-text.text-block p:first-child strong,
.myths-reality__note-text.text-block strong:first-child {
    display: block;
    margin-bottom: 10px;
    font-size: 17px;
    line-height: 1.25;
    color: var(--black);
}
.myths-reality__note-text.text-block p:last-child {
    margin-bottom: 0;
}
.myths-reality__items {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.myths-reality__item {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
}
.myths-reality__myth {
    border-right: 2px solid #f7f7f7;
}
.myths-reality__myth,
.myths-reality__truth {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 24px 28px;
    min-height: 160px;
}
.myths-reality__truth {
    border-radius: 16px;
}
.myths-reality__row {
    display: block;
}
.myths-reality__row .myths-reality__x,
.myths-reality__row .myths-reality__check {
    margin-bottom: 14px;
}
.myths-reality__x,
.myths-reality__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    flex-shrink: 0;
}
.myths-reality__x svg,
.myths-reality__check svg {
    width: 14px;
    height: 14px;
}
.myths-reality__x {
    color: var(--red);
    background: var(--red-12);
}
.myths-reality__check {
    color: #1ea34a;
    background: rgba(34, 197, 94, 0.14);
}
.myths-reality__myth-title,
.myths-reality__truth-title {
    font-weight: 600;
    font-size: 20px;
    line-height: 125%;
    color: var(--black);
}
.myths-reality__truth-title {
    margin-bottom: 8px;
}
.myths-reality__truth-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    color: var(--gray);
}
.myths-reality__truth-text p {
    margin: 0 0 8px;
    color: var(--gray);
}
.myths-reality__truth-text p:last-child {
    margin-bottom: 0;
}
@media (max-width: 1199px) {
    .myths-reality__layout {
        grid-template-columns: 310px minmax(0, 1fr);
        gap: 40px;
    }
    .myths-reality__item {
        grid-template-columns: 260px minmax(0, 1fr);
    }
}
@media (max-width: 991px) {
    .myths-reality {
        margin: 32px 0;
    }
    .myths-reality__layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .myths-reality__aside {
        position: static;
    }
    .myths-reality__subtitle {
        margin-bottom: 28px;
        font-size: 18px;
    }
    .myths-reality__item {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 575px) {
    .myths-reality {
        margin: 24px 0;
    }
    .myths-reality__author {
        align-items: flex-start;
        gap: 16px;
    }
    .myths-reality__author-img {
        width: 64px;
        height: 64px;
    }
    .myths-reality__note {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 14px;
        margin-top: 24px;
    }
    .myths-reality__note-icon {
        width: 46px;
        height: 46px;
        border-radius: 12px;
    }
    .myths-reality__note-text.text-block {
        font-size: 14px;
    }
    .myths-reality__note-text.text-block p:first-child strong,
    .myths-reality__note-text.text-block strong:first-child {
        font-size: 16px;
    }
    .myths-reality__myth,
    .myths-reality__truth {
        gap: 14px;
        padding: 20px;
        min-height: 0;
    }
    .myths-reality__truth {
        border-left: 0;
        border-top: 1px solid #e7e7e7;
    }
    .myths-reality__row .myths-reality__x,
    .myths-reality__row .myths-reality__check {
        margin-bottom: 10px;
    }
    .myths-reality__x,
    .myths-reality__check {
        width: 38px;
        height: 38px;
    }
    .myths-reality__myth-title,
    .myths-reality__truth-title {
        font-size: 18px;
    }
    .myths-reality__truth-text {
        font-size: 15px;
    }
}

/* ============================================================
   Reasons / «Причины обращения» — flexible layout reasons
   ============================================================ */
.reasons-block {
    margin-bottom: 60px;
    overflow: visible;
}
.reasons-block__head {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 40px;
}
.reasons-block__title {
    margin: 0 0 16px;
    text-align: center;
}
.reasons-block__title span,
.reasons-block__title .text-red {
    color: var(--red);
}
.reasons-block__subtitle {
    color: var(--gray);
    font-size: 18px;
    line-height: 1.45;
}
.reasons-block__subtitle p {
    margin: 0 0 8px;
}
.reasons-block__subtitle p:last-child {
    margin-bottom: 0;
}

.reasons-block__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
    padding-top: 12px;
}

.reasons-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: var(--white-gray);
    border-radius: 20px;
    padding: 28px 18px 20px;
    box-shadow: none;
    border: none;
    min-height: 100%;
}
.reasons-card--up {
    margin-top: 0;
}
.reasons-card--down {
    margin-top: 48px;
}

.reasons-card__num {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--red);
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 15px;
    line-height: 1;
    z-index: 2;
    box-shadow: 0 4px 12px rgba(242, 59, 45, 0.15);
}
.reasons-card__num span {
    display: block;
}

.reasons-block .reasons-card__title,
.service-content .reasons-card__title {
    margin: 8px 0 0;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--black);
    text-align: center;
    min-height: 2.6em;
}

.reasons-card__media {
    border-radius: 14px;
    overflow: hidden;
    background: transparent;
}
.reasons-card__media img {
    display: block;
    width: 100%;
    height: auto;
}

.reasons-card__body {
    text-align: center;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.reasons-card__label {
    color: var(--red);
    font-weight: 600;
    font-size: 15px;
    line-height: 1.25;
}
.reasons-card__text {
    color: var(--gray);
    font-size: 14px;
    line-height: 1.4;
}

.reasons-card__btn.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    min-height: 48px;
    line-height: 1.25;
    white-space: normal;
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 14px;
    margin-top: auto;
}

@media (max-width: 1199px) {
    .reasons-block__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }
    .reasons-card--down {
        margin-top: 0;
    }
    .reasons-card:nth-child(3n+2) {
        margin-top: 36px;
    }
}

@media (max-width: 991px) {
    .reasons-block {
        margin-bottom: 40px;
    }
    .reasons-block__head {
        margin-bottom: 28px;
    }
    .reasons-block__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }
    .reasons-card:nth-child(3n+2),
    .reasons-card--down {
        margin-top: 0;
    }
    .reasons-card:nth-child(even) {
        margin-top: 28px;
    }
}

@media (max-width: 575px) {
    .reasons-block.card {
        padding: 24px 16px !important;
    }
    .reasons-block__title {
        font-size: 24px;
    }
    .reasons-block__grid {
        grid-template-columns: 1fr;
        gap: 20px;
        max-width: 360px;
        margin: 0 auto;
    }
    .reasons-card,
    .reasons-card:nth-child(even),
    .reasons-card--down,
    .reasons-card--up {
        margin-top: 0;
    }
    .reasons-block .reasons-card__title,
    .service-content .reasons-card__title {
        min-height: 0;
        font-size: 15px;
    }
    .reasons-card__btn.btn {
        font-size: 15px;
    }
}

/* ============================================================
   Consequences / «Если не лечить…» — flexible layout consequences
   ============================================================ */
.consequences-block {
    margin-bottom: 60px;
}
.consequences-block__head {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 40px;
}
.consequences-block__title {
    margin: 0 0 16px;
    text-align: center;
}
.consequences-block__title span,
.consequences-block__title .text-red {
    color: var(--red);
}
.consequences-block__subtitle {
    color: var(--gray);
    font-size: 18px;
    line-height: 1.45;
}

.consequences-chain {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
    counter-reset: none;
}
.consequences-chain__item {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.consequences-chain__card {
    position: relative;
    flex: 1 1 auto;
    background: var(--white-gray);
    border: none;
    border-radius: 20px;
    padding: 28px 20px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-height: 180px;
    box-shadow: none;
}
.consequences-chain__num {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--red);
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
    flex-shrink: 0;
    box-shadow: 0 6px 16px rgba(242, 59, 45, 0.28);
}
.consequences-chain__item-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--black);
}
.consequences-chain__item-text {
    font-size: 14px;
    line-height: 1.4;
    color: var(--gray);
}
.consequences-chain__arrow {
    display: none;
}

/* стрелки между карточками на широком экране */
@media (min-width: 992px) {
    .consequences-chain {
        gap: 0;
    }
    .consequences-chain__item {
        padding-right: 28px;
    }
    .consequences-chain__item:last-child {
        padding-right: 0;
    }
    .consequences-chain__arrow {
        display: flex;
        position: absolute;
        right: 2px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--red);
        opacity: 0.85;
        z-index: 2;
    }
}

.consequences-extra {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid #eee;
}
.consequences-extra__title {
    margin: 0 0 20px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--black);
    text-align: center;
}
.consequences-extra__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}
.consequences-extra__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
    background: var(--white-gray);
    border: none;
    border-radius: 16px;
    padding: 20px 14px;
    box-shadow: none;
}
.consequences-extra__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--red-12);
    color: var(--red);
    flex-shrink: 0;
}
.consequences-extra__text {
    font-size: 14px;
    line-height: 1.35;
    font-weight: 500;
    color: var(--black);
}

.consequences-note {
    margin-top: 28px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    background: #FFF5EB;
    border-radius: 16px;
    padding: 20px 22px;
}
.consequences-note__icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(242, 59, 45, 0.12);
    color: var(--red);
}
.consequences-note__text {
    font-size: 15px;
    line-height: 1.45;
    color: var(--gray);
}
.consequences-note__text p {
    margin: 0 0 8px;
}
.consequences-note__text p:last-child {
    margin-bottom: 0;
}

@media (max-width: 1199px) {
    .consequences-extra__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 991px) {
    .consequences-block {
        margin-bottom: 40px;
    }
    .consequences-chain {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
    .consequences-chain__card {
        min-height: 0;
    }
    .consequences-extra__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 575px) {
    .consequences-block.card {
        padding: 24px 16px !important;
    }
    .consequences-block__title {
        font-size: 24px;
    }
    .consequences-chain {
        grid-template-columns: 1fr;
        gap: 12px;
        max-width: 420px;
        margin: 0 auto;
    }
    .consequences-extra__list {
        grid-template-columns: 1fr;
    }
    .consequences-extra__item {
        flex-direction: row;
        text-align: left;
        align-items: flex-start;
    }
    .consequences-note {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

/* ============================================================
   Material comparison content block (порт из stroi, адаптировано под medmaket)
   ============================================================ */
.material-comparison {
    margin: 40px 0;
}
.material-comparison__head {
    margin-bottom: 24px;
}
.material-comparison__head h2 {
    margin: 0 0 12px;
    max-width: 980px;
}
.material-comparison__subtitle {
    max-width: 760px;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: var(--gray);
}
.material-comparison__base-card {
    min-height: 252px;
    height: 100%;
    border-radius: 16px;
    background: var(--red);
    color: #fff;
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.material-comparison__base-icon {
    position: relative;
    z-index: 1;
    width: 72px;
    height: 72px;
    object-fit: contain;
    margin-bottom: 28px;
    filter: brightness(0) invert(1);
}
.material-comparison__base-title {
    position: relative;
    z-index: 1;
    font-weight: 600;
    font-size: 22px;
    line-height: 120%;
    color: #fff;
}
.material-comparison__text {
    border: 1px solid #e7e7e7;
    border-radius: 16px;
    background: #fff;
    padding: 32px;
    margin-bottom: 20px;
}
.material-comparison__text.text-block p {
    font-size: 17px;
    line-height: 150%;
}
.material-comparison__text.text-block p:last-child {
    margin-bottom: 0;
}
.material-comparison__items {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.material-comparison__item {
    display: grid;
    grid-template-columns: 150px 58px 220px minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}
.material-comparison__base-card--row {
    min-height: 156px;
    padding: 18px;
}
.material-comparison__base-card--row .material-comparison__base-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 16px;
}
.material-comparison__base-card--row .material-comparison__base-title {
    font-size: 18px;
}
.material-comparison__vs {
    align-self: center;
    justify-self: center;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    border: 1px solid #e7e7e7;
    background: #fff;
    box-shadow: 0 10px 28px rgba(26, 17, 15, 0.07);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
    color: var(--red);
}
.material-comparison__alt {
    border: 1px solid #e7e7e7;
    border-radius: 16px;
    background: var(--white-gray);
    padding: 18px;
    min-height: 156px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.material-comparison__alt-icon {
    width: 64px;
    height: 64px;
    object-fit: contain;
    margin-bottom: 14px;
}
.material-comparison__alt-title {
    font-weight: 600;
    font-size: 18px;
    line-height: 120%;
    color: var(--black);
}
.material-comparison__item-text {
    border: 1px solid #e7e7e7;
    border-radius: 16px;
    background: #fff;
    padding: 24px 28px;
}
.material-comparison__item-text p {
    margin-bottom: 10px;
    font-size: 17px;
    line-height: 150%;
    color: var(--black);
}
.material-comparison__item-text p:last-child {
    margin-bottom: 0;
}
.material-comparison__item-text strong,
.material-comparison__text.text-block strong {
    color: var(--red);
    font-weight: 600;
}
@media (max-width: 1199px) {
    .material-comparison__item {
        grid-template-columns: 128px 50px 190px minmax(0, 1fr);
    }
}
@media (max-width: 991px) {
    .material-comparison {
        margin: 32px 0;
    }
    .material-comparison__item {
        grid-template-columns: 1fr;
    }
    .material-comparison__base-card {
        min-height: 0;
    }
    .material-comparison__vs {
        margin: -4px 0;
    }
    .material-comparison__item-text {
        padding: 20px;
    }
    .material-comparison__base-card--row {
        min-height: 136px;
    }
}
@media (max-width: 575px) {
    .material-comparison {
        margin: 24px 0;
    }
    .material-comparison__subtitle {
        font-size: 16px;
    }
    .material-comparison__base-card,
    .material-comparison__text,
    .material-comparison__alt,
    .material-comparison__item-text {
        padding: 18px;
    }
    .material-comparison__base-card,
    .material-comparison__base-card--row {
        min-height: 140px;
    }
    .material-comparison__base-icon,
    .material-comparison__alt-icon {
        width: 56px;
        height: 56px;
        margin-bottom: 14px;
    }
    .material-comparison__base-title {
        font-size: 20px;
    }
}

.content-spoiler-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin: 0 0 32px;
    padding: 12px 20px;
    border: 1px solid currentColor;
    border-radius: 8px;
    background: transparent;
    color: var(--red);
    font-weight: 500;
    font-size: 15px;
    line-height: 1.2;
    cursor: pointer;
    outline: none;
    transition: opacity 0.25s ease, color 0.25s ease;
}
.content-spoiler-btn:hover {
    opacity: 0.8;
}
.content-spoiler-btn svg {
    flex: 0 0 auto;
    transition: transform 0.3s ease;
}
.content-spoiler-btn.is-expanded {
    margin-top: 32px;
}
.content-spoiler-btn.is-expanded svg {
    transform: rotate(180deg);
}
.service-prices-toggle {
    margin: 20px 0 0;
}
.service-prices-toggle.is-expanded {
    margin: 20px 0 0;
}
.content-spoilers > *:first-child {
    margin-top: 32px;
}
@media (max-width: 991px) {
    .content-spoiler-btn {
        margin-top: 0;
    }
}
@media (max-width: 600px) {
    #prices.card {
        padding: 28px 18px;
    }
    #prices h2 {
        margin-bottom: 22px;
        font-size: 28px;
    }
    .prices-table table,
    .prices-table tbody {
        display: block;
        width: 100%;
    }
    .prices-table .price-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto 42px;
        grid-template-areas:
            "code price action"
            "name price action"
            "desc desc desc";
        column-gap: 10px;
        row-gap: 4px;
        align-items: center;
        padding: 14px 0;
        border-bottom: 1px solid #d7d7d7;
    }
    .prices-table .price-row[hidden] {
        display: none !important;
    }
    .prices-table table td {
        display: block;
        padding: 0;
        border: 0;
    }
    .prices-table table td:first-child,
    .prices-table table td:last-child {
        padding: 0;
    }
    .prices-table table td.service-code {
        grid-area: code;
        color: #9b9ba5;
        font-size: 13px;
        line-height: 1.25;
        font-weight: 400;
    }
    .prices-table table td.service-code .service-code__value::before,
    .prices-table table td.service-sub-name .service-code__value::before {
        content: "Код: ";
    }
    .prices-table table td.service-name {
        grid-area: name;
        min-width: 0;
    }
    .prices-table table td.service-name .service-title {
        display: block;
        font-size: 16px;
        line-height: 1.28;
        font-weight: 500;
        color: var(--black);
    }
    .prices-table .service-price__duration {
        display: none;
    }
    .prices-table .service-price {
        grid-area: price;
        align-self: center;
        min-width: 76px;
        padding: 0;
        text-align: right;
        white-space: nowrap;
        font-size: 16px;
        line-height: 1.2;
        font-weight: 600;
        color: var(--black);
    }
    .prices-table table td.service-action {
        grid-area: action;
        min-width: 0;
        padding: 0;
        text-align: right;
    }
    .prices-table .service-price-action {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        min-width: 42px;
        padding: 0;
        border-radius: 50%;
        font-size: 0;
        line-height: 1;
    }
    .prices-table .service-price-action::after {
        content: "";
        width: 9px;
        height: 9px;
        border-top: 2px solid currentColor;
        border-right: 2px solid currentColor;
        transform: rotate(45deg);
        margin-left: -3px;
    }
    .prices-table .price-row__desc {
        grid-area: desc;
        margin: 4px 52px 0 0;
        font-size: 13px;
        line-height: 1.35;
        color: var(--gray);
    }
    .prices-table table td.service-sub-name {
        grid-column: 1 / -1;
        display: block;
        padding: 18px 0 8px;
        text-align: left;
    }
    .prices-table table td.service-sub-name .service-code__value {
        display: block;
        margin-bottom: 6px;
        color: #9b9ba5;
        font-size: 13px;
        line-height: 1.25;
        font-weight: 400;
    }
    .service-prices-toggle {
        margin: 18px 0 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        color: var(--black);
        font-size: 16px;
        line-height: 1.2;
        text-decoration: underline;
        text-underline-offset: 3px;
    }
    .service-prices-toggle svg {
        display: none;
    }
    .service-prices-toggle.is-expanded {
        margin: 18px 0 0;
    }
}
