@charset "utf-8";

:root {
    --gold: #deaf6e;
    --bg: #fff5eb;
    --blue: #003681;
    --brown: #2e2925;
}
html {
    scroll-behavior: smooth;
}
body {
    padding-top: 145px;
    font-family: "Inter", sans-serif;
    font-weight: normal;
    overflow-x: hidden;
    color: #2c2c2c;
    background: #f5f5f7;
    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 */
.bread__line {
    margin-bottom: 20px;
}
.breadcrumb {
    position: relative;
    background: transparent;
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 20px;
    color: var(--gold);
    margin-top: 38px;
}
.breadcrumb li {
    list-style: none;
    display: inline-block;
    vertical-align: middle;
}
.breadcrumb li:after {
    content: '/';
    font-size: 12px;
    display: inline-block;
    margin: 0 8px 0 10px;
    color: #12234d;
}
.breadcrumb li a {
    color: #78879a;
    font-size: 16px;
    line-height: 20px;
}
.breadcrumb li:last-child:after {
    content: none;
}
.breadcrumb > li + li:before {
    content: none;
}
/* .bc */
.about-page__top {
    margin-bottom: 40px;
}
h1 {
    font-size: 50px;
    line-height: 1.1;
    font-weight: bold;
    color: #2c2c2c;
    margin: 0 0 60px;
}
h2 {
    font-size: 44px;
    line-height: 125%;
    color: #2c2c2c;
    font-weight: 700;
    margin: 0 0 40px;
}
h2 span {
    color: var(--gold);
}
.h2__sub {
    font-size: 18px;
    line-height: 150%;
    color: #787878;
    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 h2 {
    font-size: 32px;
    margin-bottom: 20px;
}
.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(--gold);
    border-radius: 50%;
}
.text-block img {
    max-width: 100% !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;
}
.img-block {
    margin-bottom: 20px;
}
.text-img img {
    max-width: 100%;
    border-radius: 10px;
}
.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: 65px;
    line-height: 65px;
    font-weight: 500;
    font-size: 18px;
    color: #2c2c2c;
    background-color: var(--gold);
    padding: 0 25px;
    transition: .4s;
    border-radius: 100px;
}
.btn.btn_arrow {
    display: flex;
    gap: 40px;
    align-items: center;
    width: fit-content;
}
.btn.btn_ghost {
    background: transparent;
    border: 1px solid var(--gold);
    color: var(--gold);
    line-height: 45px;
}
.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(--gold);
    color: #fff;
}

.card {
    background: #fff;
    border-radius: 25px;
    padding: 60px;
    margin-bottom: 20px;
}
.doc-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border: 1px solid #ccc;
    border-radius: 8px;
}
.doc-item a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 380px;
}
.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;
}
.card__contacts-lists {
    display: flex;
    justify-content: space-between;
}
.card__contacts-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.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;
}


.schedule__title {
    font-weight: 700;
    font-size: 22px;
    line-height: 110%;
    color: var(--gold);
    margin-bottom: 25px;
}
.schedule__list {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.schedule__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: rgba(255, 255, 255, 0.2);
    height: 49px;
    padding: 0 24px;
    border-radius: 100px;
    font-weight: 700;
    font-size: 18px;
    color: #fff;
}

.form-group {
    margin-bottom: 30px;
}
.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__note {
    margin-bottom: 20px;
}
.form__terms {
    margin-bottom: 40px;
}
.form__title {
    font-weight: bold;
    font-size: 35px;
    line-height: 1.1;
    text-align: left;
    color: var(--gold);
    margin-bottom: 60px;
}
.front-form .form-sumbit {
    text-align: center;
}
.client-item {
    width: 100%;
    height: 100px;
    box-shadow: 0 7px 13px 0 rgba(187, 187, 187, 0.25);
    background: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 23px;
}
.client-item img {
    max-width: 96%;
    max-height: 95px;
    object-fit: cover;
    flex-shrink: 0;
    transition: .4s;
}
.title-block__btn svg {
    flex-shrink: 0;
}
.title-block__btn a {
    font-weight: 300;
    font-size: 22px;
    color: #85122b;
    display: flex;
    align-items: center;
    gap: 20px;
}
.rait-item {
    display: block;
}
.rait-item__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: #f5f7fd;
    height: 167px;
    margin-bottom: 27px;
}
.rait-item__logo img {
    width: auto;
    max-width: 80%;
    height: 100%;
    max-height: 40px;
    object-fit: contain;
}
.rait-item__value {
    font-weight: 500;
    font-size: 20px;
    line-height: 120%;
    text-align: center;
    color: #000;
}
.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(--gold);
    margin-bottom: 10px;
}
.sale-item__date {
    color: #778bb4;
    font-size: 16px;
    font-weight: 300;
    margin-bottom: 40px;
}
.video-item {
    position: relative;
}
.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(--gold);
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}
.video-item img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 370px;
    border-top-left-radius: 30px;
    border-bottom-right-radius: 30px;
}
.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-top h2 {
    margin-bottom: 0;
}
.bens .row {
    margin: 0 -10px;
}
.bens .row .col-6,
.bens .row .col-3 {
    padding: 0 10px;
}
.ben-item_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 230px;
}
.ben-item_icon img {
    width: 170px;
    max-width: 90%;
}
.bens__img {
    background: var(--gold);
    border-radius: 20px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.bens__img img {
    max-width: 85%;
    max-height: 85%;
    object-fit: contain;
}
.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: #e5eafd;
    margin-bottom: 20px;
}
.team-item__decor {
    position: absolute;
    top: 20px;
    right: 0;
    pointer-events: none;
    opacity: .7;
}
.team-item__decor svg {
    width: 170px;
    height: auto;
}
.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(--gold);
}
.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__exp-price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 500;
    font-size: 15px;
    line-height: 200%;
    color: #000;
}
.team-item__exp-price span {
    font-weight: 700;
}

.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;
}
.video-item__in {
    margin-top: 18px;
}
.video-item__date {
    font-weight: 300;
    font-size: 16px;
    line-height: 200%;
    color: #778bb4;
    margin-bottom: 6px;
}
.video-item__title {
    font-weight: 700;
    font-size: 22px;
    line-height: 110%;
    color: var(--gold);
}
.more__btn {
    margin-top: 50px;
    text-align: center;
}
.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;
}
.review-img img {
    max-width: 100%;
    height: auto;
}
.reviews-slider {
    padding: 10px 10px 0;
    margin: 0 -10px;
}
.review-item__author {
    display: flex;
    align-items: center;
    font-weight: 500;
    font-size: 20px;
    color: #000;
    gap: 20px;
}
.review-item__author img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}
.review-item__in {
    margin-top: 35px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.form input:focus {
    outline: none;
}
.star {
    position: relative;
    margin-bottom: 10px;
}
.star img {
    width: 100%;
    height: 245px;
    object-fit: cover;
    border-radius: 20px;
}
.star_1 img {
    height: 500px;
}
.star__name {
    position: absolute;
    font-weight: 400;
    font-size: 18px;
    text-align: center;
    color: #fff;
    right: 10px;
    bottom: 10px;
    padding: 12px 10px;
    background: rgba(0,0,0,.5);
    border-top-left-radius: 14px;
    border-bottom-right-radius: 14px;
}
.stars .row {
    margin: 0 -5px;
}
.stars .col-4,
.stars .col-8,
.stars .col-12,
.stars .col-6 {
    padding: 0 5px;
}
.star_2 .star__name {
    position: absolute;
    top: 10px;
    left: 10px;
    right: inherit;
    bottom: inherit;
}
.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: 400;
    font-size: 20px;
    line-height: 150%;
    color: #2c2c2c;
}
.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 {
    position: relative;
    margin-bottom: 60px;
}
.hero_service:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}
.hero_service .container {
    position: relative;
    z-index: 2;
}
.hero__btn-price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 900px;
}
.hero__price {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 10px 10px 39px;
    border-radius: 10px;
    width: 390px;
    height: 89px;
    background: linear-gradient(90deg, #fff 0%, rgba(153, 153, 153, 0) 100%);
}
.hero-price__val {
    font-weight: 500;
    font-size: 34px;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: var(--gold);
}
.hero-price__old {
    ont-weight: 400;
    font-size: 18px;
    text-transform: uppercase;
    text-decoration: line-through;
    color: #787878;
}
.screen__bens {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    z-index: 2;
    /* background: #FFF5EB; */
    background: transparent;
    width: 100%;
    border-radius: 21px;
    padding: 20px;
    margin-top: -20px;
    margin-bottom: 0;
}
.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;
}
.screen__bens .item__bold {
    font-weight: bold;
    color: var(--gold);
}
.screen__bens .item__sub {
    font-weight: 500;
    color: #6c727f;
}
.item__rait {
    font-weight: 600;
    font-size: 20px;
    line-height: 332%;
    color: #262824;
    margin-left: 4px;
}
.sben-item__title {
    font-weight: 700;
    font-size: 20px;
    text-transform: uppercase;
    color: var(--gold);
}
.sben-item__text {
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    color: #6c727f;
}
.sben-item {
    display: flex;
    gap: 8px;
    align-items: center;
    position: relative;
}
.sben-item__image {
    flex-shrink: 0;
}
.sben-item__image img {
    max-width: 100px;
    object-fit: contain;
}

.service-bens .row {
    justify-content: center;
}
.card.service-bens {
    padding: 20px;
}
.equipment-list {
    margin-top: 50px;
}
.equipment-item {
    padding: 60px 70px;
    border-radius: 20px;
    background: #f3f3f3;
    margin-bottom: 25px;
}
.equipment-item__title {
    font-weight: 600;
    font-size: 22px;
    line-height: 130%;
    color: #85122b;
    margin-bottom: 25px;
}
.equipment-item__text {
    font-weight: 300;
    font-size: 22px;
    line-height: 130%;
    color: #000;
}
.equipment-item__image img {
    width: 100%;
    height: auto;
}
.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: 500;
    font-size: 20px;
    transition: .3s;
}
.article-list li a:hover {
    transition: .3s;
    color: var(--gold);
}
.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: #efe3d0;
    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(--gold);
}
.expert__text {
    position: relative;
}
.expert__text a {
    color: var(--gold);
}
.expert__text:before {
    opacity: .1;
    top: -15px;
    left: -20px;
    position: absolute;
    content: '';
    width: 69px;
    height: 53px;
    background-size: 69px;
    background-image: url("data:image/svg+xml,%3Csvg width='70' height='54' viewBox='0 0 70 54' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.7712 53.004H41.8745C40.4492 53.004 39.922 52.4746 39.922 51.0612C39.922 43.3287 39.8976 35.5914 39.922 27.8589C39.8886 23.3732 40.5269 18.9075 41.8159 14.6088C44.2859 6.73067 49.7287 2.12616 57.7733 0.523327C59.522 0.239228 61.2885 0.076931 63.0599 0.0376192C64.1728 -0.0255228 64.8172 0.591322 64.8318 1.70359C64.8676 4.5207 64.8676 7.33617 64.8318 10.15C64.8449 10.3702 64.8116 10.5906 64.734 10.7972C64.6565 11.0038 64.5365 11.192 64.3816 11.3498C64.2267 11.5075 64.0405 11.6313 63.8347 11.7133C63.629 11.7953 63.4083 11.8336 63.1868 11.8257C58.8374 12.1414 56.6018 14.0551 55.9672 18.3488C55.6304 20.6122 55.6694 22.9339 55.5181 25.2313C55.479 25.853 55.8549 25.8481 56.304 25.8481H67.5801C69.2593 25.8481 69.723 26.3338 69.723 27.9998V50.8912C69.723 52.5766 69.2593 53.0332 67.5752 53.0332L54.7712 53.004Z' fill='%23EEEEEE' /%3E%3Cpath d='M14.8806 53.0037H1.98881C0.558553 53.0037 0.00695416 52.4791 0.00695416 51.0608C0.00695416 42.6921 -0.0418695 34.3185 0.119217 25.9497C0.216845 20.8887 1.0174 15.9005 3.23356 11.2668C6.03549 5.43832 10.8486 2.03836 17.0772 0.668666C19.0711 0.30216 21.0893 0.0813897 23.1156 0.00811048C24.3359 -0.0793169 24.9266 0.542382 24.9315 1.76151C24.9315 4.53004 24.9315 7.29373 24.9315 10.0574C24.9548 10.2821 24.9292 10.5092 24.8565 10.7232C24.7837 10.9372 24.6656 11.1331 24.51 11.2976C24.3543 11.4622 24.1649 11.5914 23.9547 11.6766C23.7444 11.7618 23.5181 11.8009 23.2913 11.7914C19.0347 12.0779 16.8137 13.9139 16.1351 18.1056C15.7544 20.4661 15.7983 22.8946 15.647 25.2892C15.6031 25.9303 16.0668 25.8089 16.4329 25.8089C20.1623 25.8089 23.8933 25.8089 27.626 25.8089C29.4126 25.8089 29.8519 26.2509 29.8519 28.0383V50.9345C29.8519 52.5131 29.3638 53.0037 27.7822 53.0037H14.8806Z' fill='%23EEEEEE' /%3E%3C/svg%3E");
}
.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(--gold);
    border-radius: 10px;
    background: #fff;
    border: 2px solid var(--gold);
    padding: 12px 20px;
    text-align: center;
    text-transform: uppercase;
    transition: .4s;
}
.problems-list li a:hover {
    color: #fff;
    background: var(--gold);
    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;
}
.attention_3 {
    background: #FFF5EB;
}
.text-block.attention,
.text-block.attention_3 {
    color: #222;
}
.attention {
    margin-bottom: 30px;
}
.footer__exlinks > div {
    margin-bottom: 6px;
}
.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__sub {
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    color: #787878;
}
.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; 
}
.sales-col_full {
    grid-row: span 2;
}

.sale-item_big {
    height: 520px;
}
.sales-col_half {
    height: 250px;
}

.sale-item_small {
    height: 100%;
}
.features-card {
    position: relative;
    z-index: 2;
    padding: 50px;
}
.features__list {
    display: flex;
    justify-content: space-between;
}
.feature {
    flex: 0 0 32%;
    border-right: 1px solid #e0e0e0;
}
.feature:last-child {
    border-right: none;
}
.feature__icon {
    width: 70px;
    height: 70px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--gold);
    margin-bottom: 34px;
}
.feature__title {
    font-weight: 700;
    font-size: 24px;
    text-transform: uppercase;
    text-align: center;
    color: #12234d;
    margin-bottom: 18px;
}
.feature__text {
    font-weight: 300;
    font-size: 18px;
    line-height: 110%;
    text-align: center;
    color: #788bb4;
    margin-bottom: 25px;
}
.feature__btn {
    text-align: center;
}
.footer__list ul {
    columns: 2;
}
.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(--gold);
    border-radius: 10px;
    background: transparent;
    border: 2px solid var(--gold);
    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(--gold);
    color: #fff;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}
.address__sub {
    color: var(--gold);
    font-weight: 300;
}
.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;
}
.gallery-item__title {
    font-weight: 700;
    font-size: 20px;
    line-height: 200%;
    color: #616161;
}
.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;
}
.photos-clinic__btns {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.card_blue {
    background: #e1ecf5;
}
.contacts__route {
    margin-top: 50px;
}
.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(--gold);
    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-border {
    padding-left: 40px;
    border-left: 2px solid var(--gold);
}
.front-faq .faq-item__btn svg path {
    fill: #222;
}
.show-more {
    margin-top: 40px;
    text-align: center;
}
.form__terms a {
    color: var(--gold);
    border-bottom: 1px solid;
}
.card_bottom {
    background: var(--gold);
}
.ben-bottom {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ben-bottom__icon {
    margin-bottom: 20px;
}
.ben-bottom__icon img {
    max-width: 120px;
}
.ben-bottom__title {
    font-weight: 700;
    font-size: 50px;
    line-height: 1;
    color: #fff;
    margin-bottom: 10px;
}
.ben-bottom__text {
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    color: #fff;
}
.hero_service h1 {
    max-width: 720px;
    line-height: 1.3;
    margin-bottom: 40px;
}
.header__social svg {
    color: var(--gold);
}
.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(--gold);
}
.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: var(--brown); /* Темно-синий цвет как на фото */
    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;
}

/* Адаптивность для мобильных */
@media (max-width: 768px) {
    .text-block table {
        font-size: 14px;
    }
    .text-block table tr th, 
    .text-block table tr td {
        padding: 10px;
    }
}


.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__btn {
    margin-left: 30px;
}
.header__search-btn {
    margin-left: auto;
    display: flex;
    align-items: center;
    flex: 1;
    max-width: 340px;
}
.header__search-btn a svg {
    width: 20px;
    height: 20px;
}
header {
    position: relative;
    z-index: 4;
}

.btn_main {
    display: flex;
    gap: 10px;
    align-items: center;
    font-weight: 500;
    font-size: 22px;
    line-height: 120%;
    color: #616161;
}
.btn_main:hover .arrow {
    transform: rotate(56deg);
    transition: .3s;
}
footer {
    background: #2c2c2c;
    position: relative;
    isolation: isolate;
    margin-top: 64px;
    padding: 92px 0 0;
    border-radius: 32px 32px 0 0;
    overflow: visible;
}
.footer-wave {
    position: absolute;
    left: 0;
    right: 0;
    top: -64px;
    height: 104px;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}
.footer-wave__svg {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 200%;
    height: 100%;
    transform: translate3d(0, 0, 0);
    will-change: transform;
}
.footer-wave__svg--front {
    color: #2c2c2c;
    animation: footerWaveMove 27s linear infinite;
}
.footer-wave__svg--back {
    color: rgba(222, 175, 110, 0.34);
    opacity: 0.88;
    transform: translate3d(-12%, 8px, 0);
    animation: footerWaveMoveBack 39s linear infinite;
}
footer > .container {
    position: relative;
    z-index: 1;
}
@keyframes footerWaveMove {
    0% {
        transform: translate3d(0, 0, 0);
    }
    25% {
        transform: translate3d(-12.5%, 3px, 0);
    }
    50% {
        transform: translate3d(-25%, 0, 0);
    }
    75% {
        transform: translate3d(-37.5%, -3px, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}
@keyframes footerWaveMoveBack {
    0% {
        transform: translate3d(-12%, 8px, 0);
    }
    33% {
        transform: translate3d(-28.5%, 4px, 0);
    }
    66% {
        transform: translate3d(-45%, 12px, 0);
    }
    100% {
        transform: translate3d(-62%, 8px, 0);
    }
}
@media (prefers-reduced-motion: reduce) {
    .footer-wave__svg {
        animation: none;
    }
}
footer .social-btn {
    color: #fff;
}
.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;
}
.footer__brand img {
    filter: brightness(0) invert(1);
}
footer .header__schedule-item {
    color: #fff;
}
.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: #fff;
    font-weight: 500;
    font-size: 18px;
    margin-bottom: 16px;
}
.footer-list li a {
    font-size: 16px;
    color: rgba(255,255,255,0.75);
}
.footer-list {
    max-width: 240px;
}
.footer__social {
    display: flex;
    align-items: center;
    gap: 24px;
}
.footer__social a {
    flex-shrink: 0;
}
.footer__address {
    font-size: 14px;
    line-height: 125%;
    color: var(--gold);
}
footer .header__schedule-item {
    color: #fff;
}
.footer__phone a {
    font-size: 18px;
    margin-bottom: 20px;
    color: #fff;
    display: block;
}
.footer__bottom-in {
    padding: 40px 0 60px;
    border-top: 1px solid #3d3d3d;
    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;
}
.about__cats {
    position: absolute;
    top: -68px;
    left: 0;
    right: 0;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}
.about__cat {
    padding: 28px;
    width: calc(33.33% - 16px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    box-shadow: 0 21px 41px 0 rgba(227, 235, 236, 0.4);
    background: #fff;
    border-radius: 21px;
}
.about__cat-title {
    flex: 1;
    font-weight: 700;
    font-size: 18px;
    line-height: 130%;
    color: var(--gold);
}
.about__cat-icon {
    width: 87px;
    height: 87px;
    background: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
}
.about__cat-icon img {
    flex-shrink: 0;
}
.about__cat-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #aceaef;
    border-radius: 50%;
    width: 54px;
    height: 54px;
    flex-shrink: 0;
}
.package-item {
    display: flex;
    flex-direction: column;
    border-radius: 25px;
    background: #e5eafd;
    padding: 40px 32px;
}
.package-item__title {
    margin-bottom: 36px;
}
.package-item__title a {
    font-weight: 700;
    font-size: 24px;
    line-height: 120%;
    color: var(--gold);
}
.package-item__list {
    margin-bottom: 20px;
}
.package-item__list li {
    position: relative;
    padding-left: 44px;
    margin-bottom: 22px;
    font-weight: 500;
    font-size: 16px;
    line-height: 140%;
    color: var(--gold);
}
.package-item__list li:before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 26px;
    height: 26px;
    background-size: 26px;
    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='0.5' width='26.0025' height='26.0025' rx='13.0013' fill='%23655B96'/%3E%3Cpath d='M8.35796 13.0819L12.4441 16.7158L18.5732 8.35786' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A");
}
.package-item__action {
    margin-top: auto;
    display: flex;
    justify-content: flex-end;
}
.package-item__action a {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
}
.contacts-page .contact-item {
    line-height: 1.3;
}
.contact-form {
    padding: 40px 70px;
    border-radius: 20px;
    background: #fff;
}
.contact-form__title {
    font-weight: 700;
    font-size: 35px;
    line-height: 130%;
    color: var(--gold);
    margin-bottom: 32px;
}
.contact-item_social {
    display: flex;
    gap: 12px;
}
.contact-item_social img {
    width: 40px;
}
.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;
}
.article-list__img {
    position: absolute;
    pointer-events: none;
    top: 0;
    bottom: 0;
    right: 0;
    opacity: .4;
}

.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(--gold);
}
.hero__feature-img {
    width: 80px;
    height: 80px;
}
.hero__feature-img img {
    max-width: 80px;
    height: auto;
    object-fit: cover;
}

.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(--gold);
    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;
}
.hero_service.hero-image-bottom .hero__image {
    bottom: -45px;
}

.service-link > ul.sub-menu {
    columns: 3;
    padding: 30px 60px;
    width: 800px;
}

header {
    position: fixed;
    top: 20px;
    left: 0;
    right: 0;
    width: 100%;
    transition: .3s;
}
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__social-wa {
    color: #8f37da;
    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__schedule-light {
    opacity: .4;
}
.header__address {
    font-size: 14px;
    line-height: 125%;
    color: #2c2c2c;
}
.header__search-group {
    flex: 1;
}
.header__middle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}
.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;
}
.card_gold {
    background: #fff5eb;
}
.hero-item__image {
    width: 100%;
}
.hero-item__image img {
    height: 472px;
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
    display: block;
}
.hero-item__content {
    max-width: 420px;
}
.hero-item__title {
    margin-top: 8px;
    font-size: 26px;
    line-height: 150%;
    color: #2c2c2c;
}
.hero-item__sub {
    font-size: 18px;
    line-height: 150%;
    color: #787878;
}
.hero-item__price {
    margin-top: 10px;
    font-size: 18px;
    line-height: 150%;
    color: #2c2c2c;
}
.hero-item__price b {
    font-weight: 700;
    color: #478951;
}
.hero-slider.swiper {
    overflow: visible;
}
.hero {
    overflow: hidden;
}
.hero__title {
    font-weight: 700;
    font-size: 54px;
    line-height: 125%;
    color: #2c2c2c;
    margin-bottom: 20px;
}
.service-hero .hero__title {
    font-size: 32px;
}
.hero_service .hero__sub {
    max-width: 700px;
}
.hero__sub {
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    color: #2c2c2c;
}
.hero__btn-price {
    margin-top: 40px;
}
.hero__top {
    margin: 50px 0;
}
.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;
}
.hero__top {
    display: flex;
    align-items: center;
    gap: 280px;
}
.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: #deaf6e;
}
.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-text {
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    color: #000;
    margin-bottom: 16px;
}
.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;
}
.review__bottom {
    display: flex;
    align-items: center;
    gap: 12px;
}
.reviews-card__sub {
    font-size: 18px;
    line-height: 150%;
    color: #787878;
    margin: -30px 0 40px;
}
.reviews-card__logos {
    margin: 10px 0 0;
}
.reviews-card__logos img {
    width: 49px;
    height: 49px;
    object-fit: contain;
}
.review__stars img {
    width: 90px;
    height: 18px;
    object-fit: contain;
}
.review__logo img {
    width: 34px;
    height: 34px;
    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;
}
.photos-clinic__top {
    margin-bottom: 20px;
}
.photos-clinic__bottom {
  display: flex;
  gap: 20px;
  width: 100%; /* или max-width: 484px; если надо ограничить */
}

.photos-clinic__bottom {
    display: flex;
    justify-content: space-between;
}
.about-photo__img {
    width: calc(25% - 13.33px);
    height: 450px;
}
.about-photo__img:nth-child(2) {
    width: calc(50% - 13.33px);
}

.about-photo__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}
.about-clinic__photo {
    height: 420px;
}
.about-clinic__photo {
    display: block;
    height: auto;
}
.about-clinic__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.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(--gold);
    position: relative;
}
.cta__image {
    pointer-events: none;
    position: absolute;
    bottom: 0;
    right: -28px;
}
.cta__image img {
    width: 350px;
    height: 525px;
}
.cta__content {
    position: relative;
    z-index: 2;
}
.screen__bens .ya-icon {
    width: 74px;
    height: 46px;
}
.hero__image {
    position: relative;
}
.hero__image .hero-img {
    width: 100%;
    border-radius: 20px;
    height: 420px;
    object-fit: cover;
}
.author-header {
    margin-top: auto;
    padding-top: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}
.author-header__avatar {
    width: 34px;
    height: 34px;
    overflow: hidden;
    flex-shrink: 0;
    border-radius: 50%;
}
.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__progress {
    font-size: 18px;
    line-height: 150%;
    color: #fff;
    margin-bottom: 40px;
}
.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: #fff5eb;
}
/* quiz */

.catalog-wrapper {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

/* Сайдбар */
.catalog-sidebar {
  width: 280px;
  flex-shrink: 0;
  background: #f5f6fb;
  padding: 20px;
  border-radius: 15px;
}
.filter-group {
  margin-bottom: 25px;
}
.filter-label {
    font-size: 20px;
    margin-bottom: 16px;
    display: block;
    color: #787878;
}
.checkbox-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  cursor: pointer;
  font-size: 14px;
}

/* Сетка услуг */
.catalog-content {
  flex-grow: 1;
}
.catalog-search {
    position: relative;
}
.icon-search {
    position: absolute;
    top: 12px;
    right: 16px;
    width: 24px;
    height: 24px;
}
.catalog-search input {
  width: 100%;
  padding: 15px;
  background: #f5f6fb;
  border: none;
  border-radius: 10px;
  margin-bottom: 30px;
}
.sidebar-cta-desc {
    margin-top: 20px;
}
.catalog-search input:focus,
.catalog-search input:hover,
.catalog-search input:active {
    outline: none;
    box-shadow: none;
    border: none;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 колонки */
  gap: 20px;
}

/* Карточка услуги */
.service-card {
    cursor: pointer;
  background: #f5f6fb;
  border-radius: 20px;
  padding: 0 24px 24px;
  position: relative;
  overflow: hidden;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: 0.3s;
}
.service-card:hover {
  transform: scale(1.01);
  transition: .3s;
}

/* Широкая карточка (на всю ширину или 2/3) */
.service-card.wide {
    padding: 24px;
  grid-column: span 3; /* На всю ширину, как на макете вверху */
  flex-direction: row;
  align-items: center;
}
.service-card.wide .service-img {
  width: 50%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background-size: cover;
}
.wide .service-info {
    width: 50%;
}
.service-img {
  width: calc(100% + 48px);
  height: 170px;
  margin-top: 20px;
  align-self: flex-end;
  background-position: center;
  background-size: cover;
  margin: 0 -24px;
  border-radius: 20px;
  order: -1;
}

.service-info {
    margin-top: 20px;
}
.service-info .service-card__title {
    display: block;
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 140%;
  color: #2c2c2c;
  font-weight: 400;
}
.service-desc {
  font-size: 16px;
  line-height: 150%;
  color: #787878;
  margin-bottom: 15px;
  max-width: 400px;
}
.service-footer {
    display: flex;
    align-items: center;
    gap: 12px;
}
.service-footer .price {
 font-size: 18px;
 line-height: 150%;
 color: #2c2c2c;
  margin-right: 10px;
}
.arrow-link {
  color: #d4a874;
  text-decoration: none;
  font-size: 20px;
}
.load-more-container {
    margin: 30px auto 0;
    text-align: center;
}

/* Адаптив */
.mobile-filter-controls,
.mobile-filter-header {
    display: none;
}

/* Адаптив */
@media (max-width: 768px) {
  .catalog-wrapper {
    flex-direction: column;
  }
  
  /* Показываем кнопку "Показать фильтры" */
  .mobile-filter-controls {
    display: block;
    margin-bottom: 20px;
  }
  #mobile-filter-toggle {
      width: 100%;
  }

  /* Превращаем сайдбар в оверлей */
  .catalog-sidebar {
    display: none; /* Скрываем по умолчанию */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    overflow-y: auto;
    border-radius: 0;
    padding-top: 20px;
  }
  
  /* Класс для отображения панели фильтров */
  body.filters-visible .catalog-sidebar {
      display: block;
  }
  /* Блокируем скролл фона, когда фильтры открыты */
  body.filters-visible {
      overflow: hidden;
  }

  /* Стили для хедера мобильного фильтра */
  .mobile-filter-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 20px 20px;
  }
  .mobile-filter-header h3 {
      font-size: 24px;
      margin: 0;
  }
  #close-filters {
      font-size: 30px;
      line-height: 1;
      background: none;
      border: none;
      cursor: pointer;
      color: #787878;
  }
  
  /* Сброс стилей для основного контента сайдбара */
  .catalog-sidebar .filter-group,
  .catalog-sidebar .sidebar-cta {
      padding: 0 20px;
  }

  .services-grid {
    grid-template-columns: 1fr;
  }
  .service-card.wide {
    grid-column: span 1;
    flex-direction: column;
  }
  .service-card.wide .service-img {
    position: relative;
    margin-top: 20px;

    width: calc(100% + 48px);
    height: 170px;
    margin: 0 -24px;
    border-radius: 20px;
  }
}

.art__image {
    text-align: center;
}
.art__image img {
    max-width: 100%;
}

/* Общий контейнер */
.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: #f0f0f0; /* Серый фон неактивных */
    border: none;
    border-radius: 30px; /* Овальная форма pills */
    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: #fff5eb;
    color: #2c2c2c;
    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); }
}

/* Адаптив */
@media (max-width: 992px) {
    .equip-visual {
        margin-top: 30px;
        flex-direction: column;
    }
    .equip-thumbnails {
        flex-direction: row;
        width: 100%;
    }
    .equip-info {
        padding-right: 0;
    }
}
.cta__content h2 {
    color: #fff;
}
.cta__sub {
    font-weight: 500;
    color: #fff;
}
.cta__action .btn {
    background: #fff;
}
.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;
}
.docs__icon {
    margin-bottom: 30px;
}
.docs__icon svg {
    width: 34px;
    height: 34px;
    object-fit: contain;
}
.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(--gold);
    transition: .3s;
}
.footer-list a:hover {
    transition: .3s;
    color: var(--gold);
}
.footer__social a:hover svg path {
    fill: var(--gold);
    transition: .3s;
}
.footer__address {
    margin-bottom: 20px;
}
.prices-table table td.service-name:last-child {
    text-align: left;
}

.service-hero__image img {
    width: 100%;
    height: 500px;
    min-height: 100%;
    border-radius: 38px;
    object-fit: cover;
    object-position: top;
}
.pseudo-circle-1 {
    width: fit-content;
    background: #f5f5f7;
    position: absolute;
    top: 0;
    left: 0;
    padding: 20px 60px 20px 20px;
    border-radius: 0px 0px 38px 0px;
    font-size: 20px;
    font-weight: 500;
}
.pseudo-circle-1:before {
    left: 0;
    bottom: -36px;
    background-image: radial-gradient(circle at 100% 100%, transparent 36px, #f5f5f7 36px);
}
.pseudo-circle-1:after {
    right: -36px;
    top: 0;
    background-image: radial-gradient(circle at 100% 100%, transparent 36px, #f5f5f7 36px);
}
.pseudo-circle-1:before, .pseudo-circle-1:after {
    content: '';
    display: block;
    position: absolute;
    width: 36px;
    height: 36px;
}
.service-hero__image {
    position: relative;
}
.hero__price-block {
    font-size: 20px;
    margin-top: 20px;
}
.pseudo-circle-1 p {
    font-size: 14px;
}
.block__img img {
    border-radius: 20px;
}


.cookie-notification {
    position: fixed;
    bottom: 10px;
    left: 0;
    right: 0;
    background-color: #fff5eb;
    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(--gold);
}

.cookie-notification button {
    background-color: var(--gold);
    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;
}

@media (max-width: 768px) {
    .cookie-notification {
        width: calc(100% - 30px);
        bottom: 60px;
        flex-direction: column;
        text-align: center;
    }
    
    .cookie-notification p {
        max-width: 100%;
        margin-bottom: 10px;
    }
}

.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;
  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: 8px;
  color: #222;
}

.header__nav > ul {
    display: flex;
    align-items: center;
    gap: 28px;
}

.header__nav > ul > li {
    position: relative;
    padding: 20px 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: 32px;
    font-weight: 700;
    color: var(--gold);
    text-decoration: none;
    transition: color 0.3s ease;
    margin-bottom: 4px;
}
.contact-phone:hover {
    color: var(--gold);
}
.contact-email,
.contact-address {
    font-size: 18px;
    color: #555555;
    text-decoration: none;
    line-height: 1.5;
}
.contact-email:hover {
    color: var(--gold);
}

/* Линия-разделитель */
.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(--gold); /* Золотой цвет иконок */
    transition: all 0.3s ease;
}
.social-btn svg {
    width: 24px;
    height: 24px;
}
/* Эффект при наведении на соцсети */
.social-btn:hover {
    border-color: var(--gold);
    background: var(--gold);
    color: #ffffff; /* Иконка становится белой на золотом фоне */
    transform: translateY(-2px);
}

.updated-contacts .card__contacts-text {
    font-size: 16px;
    color: #787878;
    margin: 0;
    max-width: 90%;
    line-height: 1.5;
}
.equip-spec__mobile-btn {
    display: none;
}

/* Скрытие лишних цен */
.prices-table.is-collapsed tbody tr:nth-child(n+6) {
    display: none !important;
}

/* Плавное появление (опционально, убирает резкий скачок) */
.prices-table tbody tr {
    animation: fadePriceRow 0.4s ease-in-out;
}
.prices-action-wrapper .btn.btn_ghost {
    height: 42px;
    line-height: 42px;
}

@keyframes fadePriceRow {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Адаптив для мобильных устройств */
@media (max-width: 991px) {
    .equip-spec__mobile-btn {
        display: block;
        margin-top: 20px;
        width: fit-content;
        padding: 6px 10px;
        background: #f5f5f7;
        border-radius: 8px;
    }
    .equip-tab-item .equip-specs {
        display: none;
    }
    .equip-tab-item.active-spec .equip-specs {
        display: block;
    }
    .equip-tab-item .row .equip-visual {
        order: -1;
    }
    .row.auto-h .col-4 > .news-item {
        height: auto;
        margin-bottom: 0;
    }
    .quiz .quiz__header h2 {
        font-size: 26px;
    }
    .quiz .quiz__header {
        margin-bottom: 0;
    }
    .quiz-step__title {
        font-size: 18px;
    }
    .quiz-item {
        padding: 8px 16px;
    }
    .news-item__title a {
        font-size: 16px;
    }
    .updated-contacts .card_contacts__in {
        padding: 30px 20px;
    }
    .contact-phone {
        font-size: 26px;
    }
    .updated-contacts h2 {
        font-size: 32px;
        margin-bottom: 20px;
    }
    .contact-divider {
        margin: 30px 0;
    }
    .social-btn {
        width: 40px;
        height: 40px;
    }
}

/* --- Карточка специалиста --- */
.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: #f5f6fb; /* Светло-серый фон как на макете */
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
    height: 280px; /* Фиксируем высоту фото */
}

.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(--gold);
    color: #222;
    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: #f0c88f;
    color: #222;
}
.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__img {
    position: relative;
}
.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(--gold);
    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;
}
.in-text-block.card {
    padding: 0;
    background: transparent;
    margin-bottom: 0;
}
/* --- Скрываемый текстовый блок --- */
.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: #BD9A67;
    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);
}
.post__views {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* --- Панель Автора + 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-текста */
}

/* --- Адаптивность --- */
@media (max-width: 768px) {
    
    .post-author-divider {
        max-width: 100%; /* На телефоне линия на всю ширину */
        margin: 25px 0;
    }
}

.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(--gold);
    margin-bottom: 24px;
}
.hero__price-block {
    font-size: 20px;
    margin-top: 20px;
    border: 1px solid var(--gold);
    color: var(--gold);
    font-weight: 500;
    padding: 4px;
    font-size: 22px;
    width: fit-content;
    padding: 6px 22px;
    border-radius: 100px;
}
.hero_card {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.hero__price-block {
    margin-top: auto;
}
.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: #deaf6e; }
.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: #deaf6e;}
.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: #deaf6e; border-color: #deaf6e; 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: #deaf6e; }
.aw-time-item.active { background-color: #deaf6e; border-color: #deaf6e; 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: #deaf6e; outline: none; }


.plus-block {
    background: #f0f3f5;
    padding: 28px;
    border-radius: 16px;
}
.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: flex-start;
    border-radius: 8px;
    padding: 10px 86px 10px 24px;
    gap: 9px;
    background: #f4f7fb;
    width: 100%;
}
.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(--gold);
    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; 
}

/* Мобильная адаптация */
@media (max-width: 991px) {
    .card .search .search-full__in .btn {
        width: 100px;
    }
    .search-form-wrapper {
        position: fixed;
        top: 0;          /* Прижимаем к самому верху */
        left: 0;
        right: 0;
        width: 100%;     /* Во всю ширину */
        height: 60px;    /* Высота вашей мобильной шапки */
        max-width: none; /* Сбрасываем ограничения ширины десктопа */
        
        transform: translateY(-100%); /* Спрятан за верхней границей экрана */
        transition: transform 0.3s ease;
        z-index: 1001;   /* Поверх всего (меню, шапки) */
        background: #fff; 
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        
        /* Сброс десктопных стилей скрытия, если они сделаны через opacity/visibility */
        visibility: visible; 
        opacity: 1;
        display: flex;   /* Для центрирования формы внутри */
        align-items: center;
    }

    /* Состояние открытия */
    .search-form-wrapper.active {
        transform: translateY(0); /* Выезжает вниз */
        /* width: 100%; - не обязательно дублировать */
    }
    
    /* Немного поправить внутренности формы для мобилки */
    .search-form {
        width: 100%;
        padding: 0 15px;
    }
    .search-form__inner {
        border: none; /* Убрать рамки, если мешают */
    }
}


.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;
}

@media (max-width: 991px) {
    .bottom-panel {
        display: block;
    }
}

/* --- АДАПТИВ ТАБЛИЦЫ ЦЕН ДЛЯ МОБИЛЬНЫХ --- */
@media (max-width: 768px) {
    /* Ломаем стандартную табличную структуру, делаем её блочной */
    .prices-table table, 
    .prices-table tbody, 
    .prices-table tr, 
    .prices-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    /* Убираем стандартные рамки и паддинги ячеек */
    .prices-table table td {
        border: none !important;
        padding: 0 !important;
        text-align: left !important;
    }

    /* Каждая строка (<tr>) теперь работает как отдельная Flex-карточка */
    .prices-table tr.price-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: 20px 0 !important;
        border-bottom: 1px solid #e0e0e0 !important;
    }

    /* 1. Код услуги (самый верхний, мелкий и серый) */
    .prices-table td.service-code {
        width: 100%;
        font-size: 13px !important;
        color: #999;
        order: 1; /* Порядок вывода: 1 */
        margin-bottom: 6px;
    }

    /* 2. Название услуги (крупное, жирное, на всю ширину) */
    .prices-table td.service-name {
        width: 100%;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.4;
        color: #2c2c2c;
        order: 2; /* Порядок вывода: 2 */
        margin-bottom: 16px;
    }

    /* 3. Длительность процедуры */
    .prices-table td.service-price__duration {
        width: auto;
        font-size: 14px !important;
        color: #787878;
        order: 3; /* Порядок вывода: 3 */
    }

    /* 4. Цена (выделяем её) */
    .prices-table td.service-price {
        width: auto;
        font-size: 18px !important;
        font-weight: 700 !important;
        color: var(--gold) !important; /* Используем ваш фирменный золотой */
        order: 4; /* Порядок вывода: 4 */
        flex-grow: 1; /* Цена занимает всё свободное место, отталкивая кнопку, если она в той же строке */
    }

    /* 5. Кнопка записи */
    .prices-table td.service-action {
        width: 100%;
        order: 5; /* Порядок вывода: 5 (самая нижняя) */
        display: block !important; /* ВАЖНО: принудительно возвращаем кнопку, которая скрывалась старым кодом */
        margin-top: 15px;
    }

    /* Делаем кнопку на всю ширину для удобного тапа на телефоне */
    .prices-table td.service-action .btn {
        width: 100%;
        display: block;
        text-align: center;
        padding: 0; /* Чтобы текст был ровно по центру */
    }
    .faq-list .faq-question {
        font-size: 16px;
    }
}

/* Выравниваем текст и иконку-стрелку в фильтрах */
.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(--gold);
}

.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 h1 {
    font-size: 40px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 30px 0;
}

/* Верхняя карточка (Фото + Текст) */
.contacts-page .contacts-card {
    padding: 0;
    overflow: hidden; /* Обрезает углы картинки под радиус карточки */
}
.contacts-page .contacts-card .row {
    margin: 0;
    width: 100%;
    align-items: stretch; /* Растягивает колонки на одинаковую высоту */
}

/* Левая колонка с картинкой */
.contacts-page .contacts-image-col {
    display: flex;
}
.contacts-page .contacts-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Заполняет колонку без искажений пропорций */
    object-position: center;
    margin-left: -8px;
    border-radius: 25px;
}
.contacts-page .contacts-img-placeholder {
    width: 100%;
    height: 100%;
    background-color: #F0F3F5; /* Цвет-заглушка */
}

/* Правая колонка с текстом */
/* Правая колонка с текстом */
.contacts-page .contacts-text-col {
    padding: 0; 
}
.contacts-page .card_contacts__in {
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

/* Список контактов с иконками */
.contacts-page .contacts-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
}
.contacts-page .contact-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}
.contacts-page .contact-item__icon {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    margin-top: 2px;
}
.contacts-page .contact-item__info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.contacts-page .contact-item__label {
    font-size: 14px;
    color: #a0a0a0;
    font-weight: 500;
}
.contacts-page .contact-item__val {
    font-size: 18px;
    color: #1a1a1a;
    font-weight: 600;
    line-height: 1.4;
}
.contacts-page .contact-item__val_link {
    text-decoration: none;
    transition: color 0.3s ease;
}
.contacts-page .contact-item__val_link:hover {
    color: var(--gold);
}

/* Блок кнопок "Как проехать" */
.contacts-page .contact-route-block {
    background: #fcfcfc;
    border: 1px solid #F0F3F5;
    border-radius: 16px;
    padding: 24px;
    margin-top: 10px;
}
.contacts-page .contact-route-block h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 16px 0;
    color: #1a1a1a;
}
.contacts-page .route-buttons {
    display: flex;
    gap: 12px;
}
.contacts-page .route-btn {
    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; /* Кнопки занимают равное пространство */
}

/* Стилизация конкретных кнопок */
.contacts-page .route-btn_map {
    background: #fff;
    border: 1px solid #eee;
    color: #222;
}
.contacts-page .route-btn_map:hover {
    background: #5EB6CC;
    color: #ffffff;
}

.contacts-page .route-btn_taxi {
    background: #fff; /* Фирменный цвет Яндекс Такси */
    border: 1px solid #eee;
    color: #1a1a1a;
}
.contacts-page .route-btn_taxi:hover {
    background: #E6B800;
}

/* Адаптив кнопок проезда */
@media (max-width: 576px) {
    .contacts-page .route-buttons {
        flex-direction: column;
    }
}

/* Разделитель и соцсети */
.contacts-page .contact-divider {
    border: none;
    border-top: 1px solid #F0F3F5;
    margin: 40px 0;
    width: 100%;
}
.contacts-page .contact-socials {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
}
.contacts-page .social-btn {
    width: 46px;
    height: 46px;
    border: 1.5px solid #F0F3F5;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
.contacts-page .social-btn:hover {
    border-color: var(--gold);
    background: var(--gold);
    color: #ffffff; 
    transform: translateY(-2px);
}
.contacts-page .card__contacts-text {
    font-size: 16px;
    color: #787878;
    line-height: 1.5;
    margin: 0;
    max-width: 90%;
}

/* Нижняя карточка с картой */
.contacts-page .contacts-map-bottom {
    padding: 0;
    overflow: hidden;
    margin-top: 30px; /* Отступ от верхнего блока */
    border-radius: 20px; /* Скругление карты */
}
.contacts-page .contacts-map-bottom .map-frame {
    height: 500px;
    width: 100%;
}
.contacts-page .contacts-map-bottom iframe {
    width: 100% !important;
    height: 100% !important;
    display: block;
    border-radius: 0;
}
.problem-tags {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}
.problem-tags li {
    background: #efeff0;
    font-size: 16px;
    padding: 4px 20px;
    border-radius: 20px;
}


/* Адаптив для телефонов */
@media (max-width: 991px) {
    /* На мобильных делаем блоки друг под другом: Фото -> Текст -> Карта */
    .contacts-page .contacts-image-col,
    .contacts-page .contacts-text-col {
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    /* Ограничиваем высоту картинки на телефоне */
    .contacts-page .contacts-main-img {
        height: 300px; 
    }
    
    .contacts-page .card_contacts__in {
        padding: 40px 20px;
    }
    .contacts-page h1 {
        font-size: 32px;
        margin-bottom: 20px;
    }
    .contacts-page .contact-phone {
        font-size: 26px;
    }
    .contacts-page .contacts-map-bottom .map-frame {
        height: 400px;
    }
}

.service-stats {
    margin-bottom: 20px;
    overflow: hidden; /* Важно для слайдера */
}

.stat-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: #fff;
    padding: 30px;
    border-radius: 16px;
}

.stat-card__icon {
    margin-bottom: 12px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-card__icon svg {
    max-width: 100%;
    height: auto;
}

.stat-card__label {
    font-size: 16px;
    color: #989A9C; /* Серый цвет подписи из макета */
    margin-bottom: 6px;
}

.stat-card__val {
    font-size: 24px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
}

/* Адаптив для телефонов, чтобы текст был чуть компактнее, если нужно */
@media (max-width: 768px) {
    .stat-card__val {
        font-size: 20px;
    }
}
/* Карточка Автора */
.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(--gold);
}
.author-post {
    font-size: 13px;
    color: #787878;
    margin-top: 4px;
}

.card_purple {
    position: relative;
    background: #f7efdf;
}
.expert__title {
    margin-bottom: 24px;
    color: #222;
}
.expert__quote {
    position: absolute;
    top: 60px;
    right: 60px;
}
.expert__text {
    margin-bottom: 24px;
}
.expert__info .team-item__post {
    margin: 0;
    color: #5c5854;
}
.expert__btn .btn {
    background: var(--gold);
    border-radius: 12px;
    padding: 0;
    text-align: center;
    width: 131px;
    line-height: 48px;
    height: 48px;
}
.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(--gold);
    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;
}

@media (max-width: 991px) {
    .header__mic-btn {
        display: none; /* На мобильных обычно и так мало места в шапке */
    }
    .search-form-wrapper.active {
        width: 100%; /* На мобильном растягиваем на весь экран */
    }
}


.hero__btn .btn {
    height: 48px;
    line-height: 48px;
    padding: 0 32px;
}
.services-megamenu__sidebar .btn.btn_ghost {
    height: 44px;
    line-height: 42px;
}
/* 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(--gold);
}

.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(--gold);
    display: flex;
    align-items: center;
    gap: 6px;
}

.sale-card__price {
    background: var(--gold); /* Корпоративный золотой */
    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;
}


/* --- АДАПТИВНОСТЬ --- */
@media (max-width: 991px) {
    /* На планшетах по 2 в ряд */
    .sales-row .col-4 {
        width: 50%;
        max-width: 50%;
        flex: 0 0 50%;
    }
}

@media (max-width: 768px) {
    /* На телефонах всё в 1 колонку */
    .sales-row .col-4,
    .sales-row .col-12 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }
    
    /* Ломаем горизонтальную структуру первой карточки */
    .sale-card--featured {
        flex-direction: column;
        align-items: stretch;
    }
    
    .sale-card--featured .sale-card__img {
        width: 100%;
        height: 250px;
        min-height: auto;
    }
    
    .sale-card--featured .sale-card__content {
        width: 100%;
        padding: 24px;
    }
    
    .sale-card--featured .sale-card__title {
        font-size: 24px;
    }
    
    .sale-card--featured .sale-card__short {
        font-size: 15px;
    }
}

/* content new */
.article-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, auto); 
    gap: 4px 16px;
    list-style-position: inside;
    padding: 0;
}
.article-list li {
    padding-left: 0;
    margin-bottom: 0;
}
.article-list li a {
    border: 1px solid #f0f3f5;
    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='%23deaf6e' 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 60px;
    align-items: flex-start;
    flex-direction: row;
}
.card.alert-text {
    background: var(--brown);
}
.alert-text__in {
    flex: 1;
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    opacity: .8;
}
.alert-text__in .text-block {
    font-size: 18px;
    font-weight: 500;
    color: #fff;
}
.alert-text__in .text-block strong {
    color: #fff;
}
.alert-text__icon {
    width: fit-content;
    background: rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    color: #fff;
    padding: 2px 16px 2px 2px;
    border-radius: 1000px;
}
.alert-icon__circle {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.alert-icon__circle svg {
    flex-shrink: 0;
}

.alert-text h2 {
    color: var(--gold);
    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: #f0f0f0;
    border: none;
    border-radius: 30px;
    padding: 12px 24px;
    font-size: 16px;
    color: #999;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}
.service-tab__nav li a.active {
    background: #fff5eb;
    color: #2c2c2c;
    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;
}
.price-row__desc {
    font-weight: normal;
}

@media (max-width: 991px) {
    .container {
        max-width: 600px;
    }
    .in-text-block.card,
    .article-body-row .in-text-block.card {
        padding: 25px 15px;
    }
    .article-list {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }
    .article-list li a {
        font-size: 14px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .form input[type="email"], .form input[type="text"], .form select {
        height: 44px;
    }

    .form__submit .btn {
        width: 100%;
    }

    .cta__sub br {
        display: none;
    }

    .service-hero__image img {
        height: 280px;
    }

    .wide .service-info {
        width: 100%;
    }

    .panel-adaptive ul .sub-menu li a {
        font-weight: normal;
    }
    .page-template-contacts .contact-item_phone {
        font-size: 22px;
        font-weight: bold;
    }
    .page-template-contacts .card__contacts-list {
        gap: 10px;
        padding: 25px 15px;
    }
    .hero__in .hero__image .hero-img {
        width: 100%;
        height: 200px;
        border-radius: 0;
        
    }
    .hero__in .hero__image {
        position: relative;
        top: 0;
        right: inherit;
        margin: 40px -15px 0;
        width: calc(100% + 30px);
    }
    .hero_service.hero {
        margin-bottom: 0;
    }
    .price-item__val {
        margin-top: 10px;
    }
    h2 {
        font-size: 24px;
    }
    .service-content h2 {
        font-size: 24px;
    }
    h3,
    .service-content h3 {
        font-size: 20px;
    }

    .card__contacts-lists {
        flex-direction: column;
    }
    .card_contacts__in {
        padding: 25px 15px;
    }
    .cta__image {
        display: none;
    }
    .quiz-step__title {
        font-size: 18px;
    }
    .quiz-item {
        font-size: 14px;
        white-space: inherit;
    }
    .reviews-row.auto-h {
        margin: 0;
    }
    .reviews-row.auto-h .col-4 {
        padding: 0;
    }
    .alert-text {
        align-items: flex-start;
        padding: 24px;
        flex-direction: column;
    }
    .alert-text__in {
        font-size: 16px;
    }
}
/* .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(--gold);
    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: #fff;
}
.checkbox-label input:checked~.checkmark:before {
    content: '';
    position: absolute;
    left: 9px;
    top: 5px;
    width: 6px;
    height: 11px;
    border: solid var(--gold);
    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
}
.radiobox {
    margin-bottom: 25px;
}
.radio input{
    position:absolute;
    opacity:0
}
.checkradio {
    position:absolute;
    top:2px;
    left:0;
    height:16px;
    width:16px;
    background-color:#fff;
    border: 2px solid #000;
}
.radio:hover input~.checkradio{
    background-color:#ccc
}
.radio input:checked~.checkradio{
    background-color: #fff;
}
.checkradio:after{
    position:absolute;
    display:none
}
.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);
}
.i-solutions  {
    padding: 120px 0;
}
.sol-item {
    position: relative;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 38px;
    background: #eee;
    height: 250px;
}
.sol-item__title {
    font-size: 26px;
    line-height: 32px;
    color: #fff;
    position: absolute;
    font-weight: bold;
    top: 50px;
    left: 200px;
}
.sol-item__title i {
    display: block;
    color: var(--red);
    margin-top: 15px;
}
.i-media {
    padding: 80px 0;
    background-image: -o-linear-gradient(184deg, #265C50 4.96%, #007568 89.57%);
    background-image: linear-gradient(266deg, #265C50 4.96%, #007568 89.57%);
    border-bottom-right-radius: var(--radius);
}
.i-form {
    padding: 60px 0 120px;
}
.i-media h2 {
    color: #fff;
}

/* 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;
}
.header-mobile__phone {
    display: none;
}
.header-mobile__phone a {
    color: var(--red);
}


.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;
}
.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(--gold);
}
.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(--gold);
}
.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(--gold);
}

@-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 {
    -webkit-transform: translateX(-100%) translateZ(0);
    transform: translateX(-100%) 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;
}
.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(--gold);
    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-adaptive__contact {
    padding: 20px;
    color: #222;
}
.panel-adaptive__contact .header__phone {
    color: #fff;
    padding-left: 40px;
    margin-bottom: 10px;
}
.panel-adaptive__contact .header__icon {
    position: absolute;
    top: 16px;
    left: 20px;
}
.header__mail a {
    font-size: 18px;
}
.panel__bottom {
    border-top: 1px solid var(--red-l);
    padding: 20px;
}
.panel-adaptive__nav {
    margin-bottom: 40px;
}
.panel__bottom .rait-value {
    color: #fff;
}
.panel__rait {
    margin-bottom: 20px;
}
.panel__bottom-address {
    font-size: 18px;
    color: #222;
}
.wa-btn {
    position: fixed;
    z-index: 99;
    bottom: 125px;
    right: 0;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgb(18 111 98 / 25%);
    backdrop-filter: blur(25px);
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}
.wa-btn svg {
    width: 50px;
    height: 50px;
}
.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;
}

@media (max-width: 1400px) {
    .container {
        width: 100%;
    }
}
.contacts-page {
    position: relative;
    overflow: hidden;
}
.contacts-page .container {
    position: relative;
    z-index: 2;
}

@media (max-width: 1250px) {
    .header__nav > ul > li > a {
        white-space: nowrap;
    }
    .header__btn {
        margin-left: auto;
    }
}

.contacts-page__img {
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
}
.contacts-page__img svg {
    max-width: 100%;
    display: block;
    margin: 0 auto;
}
@media (max-width: 1200px) {
    .hero_front .hero__image img {
        max-width: 600px;
    }
}

@media (max-width: 991px) {
    .h2__sub {
        margin-top: 0;
    }
    .header__top {
        height: 56px;
        align-items: center;
    }
    .header__brand {
        width: auto;
        height: auto;
    }
    .about__numbs .ben-item__title {
        font-size: 32px;
    }
    .about__numbs .ben-item__text {
        font-size: 16px;
    }
    .why__text {
        margin-bottom: 40px;
    }
    .ben-item {
        margin-bottom: 20px;
    }
    .reviews-card__sub {
        margin-top: 0;
    }
    .reviews-card__action {
        margin: 20px 0 0;
    }
    .photos-clinic__bottom {
        flex-direction: column;
    }
    .about-photo__img {
        width: 100%;
        height: 200px;
    }
    body {
        padding-top: 65px;
    }
    .price-controls .price-search-wrapper {
        flex: 1;
    }
    .card__contacts-list {
        padding-top: 0;
        margin-bottom: 40px;
    }
    .card__contacts-list {
        margin-bottom: 16px;
    }
    .card__contacts-text {
        font-size: 16px;
        margin-top: 20px;
    }
    .contact-item__icon {
        width: 16px;
        height: 16px;
    }
    .contact-item {
        font-size: 16px;
    }
    .contact-item__icon svg {
        width: 16px;
        height: 16px;
    }
    .title-block {
        gap: 20px;
    }
    .service-item__title a {
        font-size: 16px;
    }
    .service-item__short {
        font-size: 14px;
    }
    .service-item {
        padding: 20px 20px 150px;
    }
    .service-item__img {
        top: inherit;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 140px;
    }
    .service-item__img img {
        border-radius: 50% 50% 0 0;
    }
    .cta__img {
        display: none;
    }
    .cta__content {
        padding: 0;
    }
    .row.auto-h.bens__bottom-list .col-6:nth-child(3) {
        margin-bottom: 10px;
    }
    .ben-bottom__icon {
        margin-bottom: 10px;
    }
    .ben-bottom__icon {
        width: 50px;
    }
    .ben-bottom__icon img {
        max-width: 44px;
        max-height: 50px;
        object-fit: cover;
    }
    .hero__features {
        margin-top: 40px;
    }
    .hero__feature-img {
        width: 40px;
        height: 40px;
    }
    .hero__feature-img img {
        max-width: 40px;
        height: auto;
        object-fit: cover;
    }
    .about__cats {
        position: relative;
        gap: 10px;
        flex-direction: column;
        flex-wrap: wrap;
    }
    .about__cat-icon img {
        max-width: 80%;
    }
    .about__cat-icon {
        width: 60px;
        height: 60px;
    }
    .about__cat {
        padding: 20px;
        width: 100%;
    }
    .about__cat-title {
        font-size: 14px;
    }
    .hero__sub {
        margin: 0 auto 40px;
    }
    .hero__feature {
        width: calc(50% - 10px);
        margin-bottom: 20px;
        flex-direction: column;
        height: auto;
    }
    .hero__feature-title {
        font-size: 14px;
    }
    .hero_front .hero__image {
        display: block;
        margin-top: 40px;
        bottom: inherit;
    }
    .hero_front .hero__image img {
        max-width: 90%;
    }
    .contacts-page .contact-item {
        padding: 10px;
    }
    .contact-form {
        padding: 20px;
    }
    .footer__list {
        text-align: left;
    }
    .footer__sub {
        font-size: 14px;
        margin-bottom: 12px;
    }
    .footer__contacts-item, .footer__mail a, .footer__phone-link {
        text-align: left;
        font-size: 16px;
    }
    .footer__list li a {
        font-size: 14px;
    }
    .footer__links {
        text-align: left;
    }
    .footer__links li a {
        font-size: 14px;
    }
    .footer__author-text {
        font-size: 14px;
    }
    .bread__line {
        margin-bottom: 14px;
    }
    .breadcrumb,
    .breadcrumb a {
        font-size: 14px;
    }
    .breadcrumb {
        margin-top: 14px;
    }
    .serv-item {
        padding: 20px;
    }
    .header__middle {
        height: 60px;
    }
    .sales-grid {
        display: block;
    }
    .panel-adaptive__contact .footer__tel {
        justify-content: left;
    }
    .panel-adaptive {
        display: block;
    }
    .header__nav {
        display: none;
    }
    .hero__logo img {
        width: 200px;
    }
    header {
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 66;
        background: #fff;
    }
    .header__brand img {
        max-width: 110px;
    }
    .header__in {
        height: 56px;
        box-shadow: none;
        border-radius: 0;
        padding: 0;
    }
    header.header_scroll {
        top: 0;
    }
    .main-hero {
        padding-top: 160px;
        height: 400px;
        margin-bottom: 40px;
    }
    footer {
        margin-top: 46px;
        padding: 66px 0 30px;
    }
    .footer-wave {
        top: -46px;
        height: 70px;
    }
    .footer__lists {
        gap: 20px;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .footer-list {
        width: calc(50% - 10px);
    }
    .footer__in {
        align-items: flex-start;
        text-align: left;
    }
    .footer__tel {
        justify-content: center;
    }
    .footer__brand {
        margin-bottom: 20px;
    }
    .footer__brand img {
        max-width: 200px;
    }
    .footer-contact__icon {
        position: relative;
        margin-right: 4px;
        display: inline-block;  
    }
    .footer-contact {
        padding-left: 0;
    }
    .footer__schedule {
        padding-left: 0;
    }
    .footer__list {
        margin: 20px 0;
    }
    .footer__copy {
        text-align: center;
    }
    .btn {
        max-width: 100%;
        font-size: 16px;
        line-height: 44px;
        height: 44px;
    }
    .sales-col {
        width: 100%;
    }
    .sales-grid {
        flex-wrap: wrap;
    }
    .card {
        padding: 25px 15px;
        width: calc(100% + 30px);
        margin: 0 -15px 30px;
        border-radius: 0;
    }
    h2 {
        font-size: 26px;
        margin-bottom: 20px;
    }
    .sale-item__title {
        margin-top: 12px;
        font-size: 18px;
    }
    .sale-item__more {
        gap: 15px;
        font-size: 14px;
    }
    .sale-item__sub {
        font-size: 13px;
        margin-bottom: 4px;
    }
    .bens {
        display: block;
    }
    .ben-item__numb {
        font-size: 35px;
        margin-bottom: 15px;
    }
    .ben-item__title {
        font-size: 18px;
    }
    .title-block {
        margin-bottom: 40px;
    }
    .title-block__btn a {
        gap: 10px;
        font-size: 14px;
    }
    .title-block__btn svg {
        width: 20px;
    }
    .app__text {
        font-size: 16px;
        line-height: 1.6;
    }
    .app__btn {
        margin-bottom: 20px;
    }
    .star_1 img {
        height: 250px;
    }
    .star_2 .star__name {
        top: inherit;
        left: inherit;
        right: 10px;
        bottom: 10px;
    }
    .photos__text {
        padding-top: 0;
        font-size: 16px;
        line-height: 1.5;
    }
    .photos__btn {
        margin-bottom: 40px;
    }
    .slider-nav {
        display: none;
    }
    .header__menu {
        display: block;
    }
    .header-mobile__phone {
        display: block;
    }
    .header-mobile__phone {
        margin-left: auto;
    }
    .form__title {
        font-size: 26px;
    }
    .screen__bens {
        display: none;
    }
    .text-block {
        font-size: 16px;
    }
    h1.hero__title {
        font-size: 32px;
        line-height: 1.2;
    }
    .hero__sub {
        font-size: 16px;
    }
    .hero_service {
        background: none !important;
        padding-bottom: 0;
    }
    .hero__btn-price {
        flex-wrap: wrap;
    }
    .hero__price {
        margin-top: 20px;
    }
    .sben-item__title {
        font-size: 20px;
    }
    .expert__title-in {
        display: block;
    }
    .expert__header {
        display: block;
    }
    .expert__info {
        margin: 20px 0;
    }
    .expert__btn .btn {
        font-size: 12px;
        padding: 0 20px;
    }
    .expert__btn {
        margin: 20px 0 0;
    }
    .price-item {
        display: block;
    }
    .expert__text {
        padding-left: 0;
    }
    .expert__text:before {
        left: 0;
    }
    .text-block h2 {
        font-size: 30px;
        margin-bottom: 33px;
    }
    .problems-list li a {
        font-size: 14px;
    }
    .equipment-item {
        padding: 20px;
    }
    .equipment-item__text {
        font-size: 16px;
    }
    h1 {
        font-size: 30px;
        margin-bottom: 30px;
    }
    .spec-page__btns {
        flex-wrap: wrap;
        gap: 20px;
    }
    .price-list .faq-question {
        font-size: 16px;
    }
    .header__contacts,
    .header__btn {
        display: none;
    }
    .features__list {
        flex-wrap: wrap;
    }
    .feature {
        flex: 0 0 100%;
    }
    .hero__image {
        position: relative;
        right: inherit;
    }
    .hero__image img {
        max-width: 100%;
    }
    .hero__in {
        padding-bottom: 0;
    }
    .hero_service .hero__in {
        padding: 25px 15px;
    }
    .title-block {
        flex-wrap: wrap;
    }
    .hero {
        min-height: auto;
    }
    .hero__title h1 {
        font-size: 28px;
        line-height: 1.2;
    }
    .hero__btns {
        display: block;
        margin-bottom: 40px;
    }
    .hero__btns a {
        width: 100%;
        margin-bottom: 10px;
    }
    .feature {
        border-right: none;
        margin-bottom: 30px;
    }
    .feature__title {
        font-size: 18px;
    }
    .feature__text {
        font-size: 16px;
    }
    .title-block .h2__sub {
        padding-left: 0;
        border: none;
        margin: 20px 0 40px;
    }
    .card-callback__title {
        font-size: 24px;
    }
    .front-faq .faq-question {
        font-size: 18px;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-right: 50px;
    }
    .faq-item__btn svg {
        width: 12px;
        height: 12px;
    }
    .ben-bottom__text {
        font-size: 14px;
    }
    .ben-bottom {
        display: flex;
        flex-direction: row;
        gap: 20px;
        margin-bottom: 40px;
    }
    .ben-bottom__title {
        font-size: 30px;
    }
    .footer__callback {
        margin-bottom: 40px;
    }
    .text-block h2,
    .text-block h3 {
        text-align: left !important;
    }
    .text-block h2 {
        font-size: 24px;
        line-height: 1.2;
    }
    .text-block h3 {
        font-size: 20px;
        line-height: 1.2;
    }
    .service-link > ul.sub-menu {
        columns: 2;
        padding: 20px;
        display: none;
    }
    .header__search-btn {
        display: none;
    }
    .text-block .card_callback .card-callback__text h5 {
        font-size: 20px;
        line-height: 1.2;
    }
    .text-block .bsf-info-box:before {
        display: block;
        margin: 0 auto 12px;
        position: relative;
        top: 0;
        left: 0;
    }
    .text-block .bsf-info-box {
        padding: 20px 20px 40px 20px;
    }
    .text-block .alignright {
        float: none !important;
        max-width: 100% !important;
        height: auto !important;
        display: block;
        margin: 10px auto 10px;
    }
    header {
        position: fixed;
    }
    .panel-adaptive .sub-menu {
        display: none;
    }
    .text-block table tr td:last-child {
        min-width: 100px;
    }
    .faq-item__btn {
        top: 30px;
        right: 12px;
    }
    .prices-table table td {
        font-size: 14px;
    }
    .prices-table table td:last-child {
        min-width: 100px;
    }
    .spec-page__img {
        margin-bottom: 20px;
    }
    .app__img {
        margin-bottom: 20px;
    }
    .table-responsive {
        width: 100%;
        overflow-x: auto;
    }

    /* new */
    .header__sub,
    .header__address-place {
        display: none;
    }

    .footer__bottom-in {
        flex-direction: column;
        padding: 20px 0;
        align-items: flex-start;
    }

    .footer__alert img {
        width: 100%;
    }

    /* new */
    .header__middle {
        display: none;
    }
    .footer__bottom-in {
        font-size: 14px;
    }
    .footer__in {
        flex-direction: column;
    }
    .header__slabo {
        display: none;
    }
    .header__place,
    .header__schedule,
    .header__address {
        display: none;
    }
    footer .header__schedule {
        display: block;
    }
    .footer__brand {
        width: 100%;
        height: auto;
    }
    .footer__address {
        margin-bottom: 20px;
    }
    .card_row.row {
        margin: 0;
    }
    .card_row.row .col-4,
    .card_row.row .col-6,
    .card_row.row .col-8 {
        padding: 0;
    }
    .hero {
        padding-top: 0;
        overflow: hidden;
    }
    .hero__title {
        font-size: 32px;
    }
    .hero-item__image img {
        width: 100%;
        height: 250px;
    }
    .hero-item__title {
        font-size: 18px;
    }
    .hero-item__sub {
        font-size: 14px;
    }
    .hero-item__image {
        width: 100%;
    }
    .hero-item {
        width: 100%;
    }
    .about__numbs {
        margin-top: 40px;
    }
    .ben-item__text {
        font-size: 14px;
    }
    .service-info .service-card__title {
        font-size: 18px;
    }
    .folio-name {
        font-size: 16px;
    }
    .reviews-card__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .quiz__content {
        padding: 25px 15px;
    }
    .last-posts__header {
        width: calc(100% + 30px);
        margin: 0 -15px 30px;
        border-radius: 0;
        padding: 25px 15px;
    }
    .news-item {
        width: calc(100% + 30px);
        margin: 0 -15px 30px;
        border-radius: 0;
    }
    .last-posts .row .col-6 {
        margin-bottom: 10px;
    }
    .quiz__content {
        width: calc(100% + 30px);
        margin: 0 -15px 30px;
        border-radius: 0;
    }
    .hero__top {
        margin-top: 20px;
        flex-direction: column;
        gap: 20px;
    }

    /* Уменьшаем контейнер кнопки */
    .circle-btn {
        width: 120px;
        height: 120px;
    }

    /* Уменьшаем вращающийся SVG с текстом */
    .circle-btn__svg {
        width: 120px;
        height: 120px;
    }

    /* Пропорционально уменьшаем иконку карандаша внутри */
    /* 64px было при 200px, значит для 120px нужно около 38px */
    .circle-btn__icon svg {
        width: 38px;
        height: 38px;
    }
    .hero__top {
        position: relative;
        margin-bottom: 0;
        padding-bottom: 100px;
    }
    .hero__action {
        position: absolute;
        bottom: 24px;
        right: 0;
        z-index: 4;
    }
    .hero__sub br {
        display: none;
    }
    .why__video {
        display: flex;
        justify-content: flex-end;
    }
    .about__action {
        display: flex;
        justify-content: flex-end;
    }
    .reviews-card__action {
        margin-left: auto;
    }
    .last-posts__action .btn {
        width: 100%;
        justify-content: center;
    }
    .sidebar-cta .btn {
        width: 100%;
    }

    /* 991 */
}
@media (max-width: 768px) {
    .price-table__row .price-table__cell:first-child {
        font-size: 10px;
    }
}
@media (max-width: 400px) {
    .folio-item {
        height: 240px;
    }
    .folio-item img {
        height: 240px;
    }
}

/* Reviews: card layout synced with the reference project */
.review-card {
    background: #ffffff;
    border: 1px solid #f0f2f5;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}
.review-card.review-item {
    padding: 0;
}
.reviews-slider .swiper-slide {
    height: auto;
}
.reviews-slider .review-card {
    height: 100%;
}
.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: #f7ead6;
    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(--gold);
    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;
    display: block;
}
.review-card__doctor,
.review-card__service {
    background: #f6f7f9;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    color: #111;
    transition: background 0.2s ease;
}
.review-card__service {
    border-top: 1px solid #eceff3;
}
.review-card__doctor:hover,
.review-card__service:hover {
    background: #eef1f6;
}
.doc-mini-avatar,
.service-mini-image {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    flex-shrink: 0;
}
.service-mini-image {
    border-radius: 10px;
}
.doc-mini-avatar img,
.service-mini-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.doc-multi-avatars {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.service-multi-images {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.overlap-avatar {
    border: 2px solid #f6f7f9;
    margin-left: -12px;
}
.overlap-avatar:first-child {
    margin-left: 0;
}
.overlap-service {
    border: 2px solid #f6f7f9;
    margin-left: -12px;
}
.overlap-service: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(--gold);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}
.review-card__doctor:hover .doc-mini-arrow {
    transform: translateX(4px);
}
.service-mini-price {
    margin-left: auto;
    color: var(--gold);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}
@media (max-width: 768px) {
    .review-card__main {
        padding: 18px;
    }
    .review-card__name {
        font-size: 16px;
    }
    .review-card__text {
        font-size: 14px;
        -webkit-line-clamp: 5;
        line-clamp: 5;
    }
    .review-card__doctor,
    .review-card__service {
        padding: 14px 18px;
    }
.review-card__service.multi-service {
        flex-wrap: wrap;
    }
}

.folio-name .folio-service {
    margin-top: 12px;
    padding: 12px;
    border-top: 0;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.2;
    background: #fff;
}
.folio-name .folio-service .doc-mini-name {
    font-size: 14px;
}
.folio-name .folio-service .service-mini-price {
    font-size: 12px;
}

.team-item__image-link {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.team-item__hover-video {
    position: absolute;
    inset: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    border-radius: inherit;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
    background: #f5f6fb;
}

.team-item.has-hover-video:hover .team-item__hover-video,
.team-item.has-hover-video.is-video-hover .team-item__hover-video {
    opacity: 1;
}

.team-item.has-hover-video:hover .team-item__image img,
.team-item.has-hover-video.is-video-hover .team-item__image img {
    transform: none;
}

.team-item.has-hover-video .team-item__video-btn,
.team-item.has-hover-video .spec-page__reviews {
    z-index: 4;
}

@media (min-width: 769px) {
    .team-item__image {
        height: 350px;
    }
}

.hamburger.hamburger--simple {
    width: 42px;
    height: 42px;
    padding: 10px;
    border-radius: 10px;
    background: var(--gold);
    border: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s ease, transform 0.2s ease;
}
.hamburger.hamburger--simple:hover {
    transform: translateY(-1px);
}
.hamburger.hamburger--simple .hamburger__lines {
    position: relative;
    width: 22px;
    height: 18px;
    display: inline-block;
}
.hamburger.hamburger--simple .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.hamburger--simple .hamburger__lines span:nth-child(1) {
    top: 3px;
}
.hamburger.hamburger--simple .hamburger__lines span:nth-child(2) {
    top: 8px;
}
.hamburger.hamburger--simple .hamburger__lines span:nth-child(3) {
    top: 13px;
}
.hamburger.hamburger--simple.is-active .hamburger__lines span:nth-child(1) {
    top: 8px;
    transform: rotate(45deg);
}
.hamburger.hamburger--simple.is-active .hamburger__lines span:nth-child(2) {
    opacity: 0;
}
.hamburger.hamburger--simple.is-active .hamburger__lines span:nth-child(3) {
    top: 8px;
    transform: rotate(-45deg);
}

.header__nav li.has-services-megamenu:hover > .sub-menu {
    display: none !important;
}
.header__nav li a.services-megamenu-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.header__nav .menu-item-has-children > a.services-megamenu-link:after {
    display: none;
}
.services-menu-burger {
    position: relative;
    display: inline-flex;
    width: 20px;
    height: 14px;
    flex-shrink: 0;
}
.services-menu-burger span {
    position: absolute;
    left: 0;
    width: 15px;
    height: 1.4px;
    border-radius: 2px;
    background: currentColor;
    transition: top 0.2s ease, transform 0.2s ease, opacity 0.15s ease;
}
.services-menu-burger span:nth-child(1) {
    top: 1px;
}
.services-menu-burger span:nth-child(2) {
    top: 6px;
}
.services-menu-burger span:nth-child(3) {
    top: 11px;
}
.services-megamenu-link.is-megamenu-open .services-menu-burger span:nth-child(1) {
    top: 6px;
    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: 6px;
    transform: rotate(-45deg);
}

.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 0.22s ease, transform 0.22s ease, visibility 0s linear 0.22s;
}
.services-megamenu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0s;
}
.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(222, 175, 110, 0.14);
    border: none;
    color: var(--gold);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease;
}
.services-megamenu__close:hover {
    background: rgba(222, 175, 110, 0.24);
}
.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__group {
    background: #f6f7f9;
    border-radius: 16px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.services-megamenu__group-title {
    font-weight: 700;
    font-size: 16px;
    color: #222;
    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: #222;
    text-decoration: none;
    font-size: 15px;
    transition: background 0.15s ease, color 0.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: #8a8a8a;
    font-size: 13px;
    flex-shrink: 0;
}
.services-megamenu__parent-arrow {
    color: #8a8a8a;
    display: inline-flex;
    flex-shrink: 0;
}
.services-megamenu__parent-link:hover {
    background: #fff;
}
.services-megamenu__parent.is-active .services-megamenu__parent-link {
    background: rgba(222, 175, 110, 0.16);
    color: var(--gold);
}
.services-megamenu__parent.is-active .services-megamenu__parent-count,
.services-megamenu__parent.is-active .services-megamenu__parent-arrow {
    color: var(--gold);
}
.services-megamenu__all {
    margin-top: 6px;
    text-align: center;
}
.services-megamenu__content {
    min-width: 0;
}
.services-megamenu__pane {
    display: none;
}
.services-megamenu__pane.is-active {
    display: block;
}
.services-megamenu__pane-title {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 26px;
    font-weight: 700;
    color: #222;
    text-decoration: none;
    margin: 0 0 28px;
}
.services-megamenu__pane-title:hover {
    color: var(--gold);
}
.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: 44px;
    row-gap: 22px;
    align-items: start;
}
.services-megamenu__child,
.services-megamenu__child-group-title {
    color: #222;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.4;
    transition: color 0.15s ease;
}
.services-megamenu__child:hover,
.services-megamenu__child-group-title:hover {
    color: var(--gold);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.services-megamenu__child-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 0 10px;
}
.services-megamenu__child-group-title {
    font-weight: 500;
}
.services-megamenu__child--nested {
    color: #666;
    font-size: 14px;
    line-height: 1.35;
    padding: 8px 12px;
    border-radius: 10px;
    background: #f8f8f9;
    position: static;
    display: block;
}
.services-megamenu__child--nested:before {
    display: none;
}
.services-megamenu__child--nested:hover {
    background: rgba(222, 175, 110, 0.14);
    text-decoration: none;
}
.services-megamenu__child--nested.is-hidden {
    display: none;
}
.services-megamenu__child--nested.is-hidden.is-visible {
    display: block;
}
.services-megamenu__more {
    align-self: flex-start;
    margin-top: 2px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--gold);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 1100px) {
    .services-megamenu__row {
        grid-template-columns: 280px minmax(0, 1fr);
        gap: 32px;
    }
    .services-megamenu__inner {
        padding: 40px;
    }
    .services-megamenu__pane-grid {
        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__pane-title {
        font-size: 22px;
        margin-bottom: 18px;
    }
}
