*  {
    margin: 0;
    padding: 0;
    max-height: 999999px;
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: transparent;
}
*,
::after,
::before {
    box-sizing: inherit;
}
html {
    box-sizing: border-box;
    -ms-overflow-style: scrollbar;
}
html, body {
    width: 100%;
    min-width: 320px;
    height: 100%;
    margin: 0;
    padding: 0;
}
body {
    position: relative;
    font-family: 'Montserrat', Tahoma, sans-serif;
    font-size: 14px;
    line-height: 20px;
    font-weight: normal;
    font-style: normal;
    color: #000;
}
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}
.col {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%
}
a {
    color: #000;
    text-decoration: none;
    outline: 0;
    transition-duration: 0.2s;
}
b,
strong {
    font-weight: 600;
}
img {
    display: block;
    max-width: 100%;
    height: auto;
    border: 0;
}
hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}
iframe {
    max-width: 100%;
    border: 0 !important;
}
.body {
    position: relative;
    display: flex;
    height: 100vh;
    flex-direction: column;
}
.header,
.footer {
    flex-shrink: 0;
}
.wrap {
    flex: 1 0 auto;
    overflow: hidden;
}

/* header */
.header {
    border-bottom: 1px solid #dde4e9;
}
.header__link {
    text-align: right;
}
.header__link a {
    position: relative;
    display: inline-block;
    vertical-align: top;
    padding: 0 15px;
    height: 34px;
    background: #eff5f9;
    border-radius: 0 0 3px 3px;
    font-size: 12px;
    line-height: 12px;
    font-weight: 600;
    color: #043a4b;
}
.header__link a:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}
.header__link a svg {
    margin: 0 0 0 10px;
}
.header__body {
    position: relative;
    padding: 20px 0;
}
.header__body:after {
    content: "";
    display: table;
    clear: both;
}
.header__logo {
    position: relative;
    display: block;
    float: left;
    margin: -5px 0 0;
}
.header__logo img {
    display: inline-block;
    vertical-align: middle;
    margin: 0 12px 0 0;
    width: 80px;
}
.header__logo span {
    display: inline-block;
    vertical-align: middle;
    width: 190px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #052831;
}
.header__right {
    float: right;
}
.header__right:after {
    content: "";
    display: table;
    clear: both;
}
.header__menu-open,
.header__menu-close {
    display: none;
}
.header__menu {
    margin: 0 0 15px;
}
.header__menu > ul {
    position: relative;
    display: block;
    margin: 0 -10px;
    padding: 0;
}
.header__menu > ul:after {
    content: "";
    display: table;
    clear: both;
}
.header__menu > ul > li {
    position: relative;
    display: block;
    margin: 0 10px;
    padding: 0;
    float: left;
}
.header__menu > ul > li > a {
    display: block;
    font-size: 15px;
    line-height: 19px;
    font-weight: 600;
    color: #052831;
}
.header__menu > ul > li > a svg {
    vertical-align: 0;
    margin: 0 0 0 6px;
    font-size: 8px;
    color: #0489b3;
}
.header__menu > ul > li > ul {
    display: block;
    margin: 0;
    padding: 10px 0 0;
}
.header__menu > ul > li > ul > li {
    display: block;
    margin: 0;
    padding: 0;
}
.header__menu > ul > li > ul > li > a {
    display: block;
    margin: 0;
    padding: 0;
    background: #0489b3;
    border-bottom: 1px solid #fff;
    padding: 13px 18px;
    font-size: 13px;
    line-height: 17px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    white-space: nowrap;
}
.header__menu > ul ul ul {
    display: none !important;
}

.header__menu > ul > li.current-menu-item > a,
.header__menu > ul > li.current-post-ancestor > a,
.header__menu > ul > li.current > a,
.header__menu > ul > li.current_page_ancestor > a {
    color: #0489b3;
}
.header__menu > ul > li > ul > li.current-menu-item > a,
.header__menu > ul > li > ul > li.current-page-ancestor > a {
    background: #009dcf;
}
.header__mobile {
    display: none;
}
.header__contacts {
    position: relative;
}
.header__contacts:after {
    content: "";
    display: table;
    clear: both;
}
.header__address,
.header__phone {
    position: relative;
    float: left;
    margin: 0 20px 0 0;
    padding: 0 0 0 15px;
    font-size: 12px;
    line-height: 18px;
    font-weight: 500;
}
.header__phone {
    padding: 0 0 0 18px;
}
.header__address svg,
.header__phone svg {
    position: absolute;
    left: 0;
    top: 5px;
    font-size: 9px;
    line-height: 10px;
    color: #0489b3;
}
.header__phone span {
    display: block;
    font-size: 11px;
}
.header__phone a {
    font-size: 15px;
    font-weight: 600;
    color: #252525;
}
.header__btn {
    position: relative;
    display: block;
    float: right;
    width: 200px;
    height: 40px;
    background: #0489b3;
    border-radius: 3px;
    font-size: 12px;
    line-height: 12px;
    font-weight: 500;
    color: #fff;
    text-align: center;
}
.header__btn:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}

/* informer */
.informer {
    position: relative;
    margin: -1px 0;
    padding: 20px 0;
    border-bottom: 1px solid #dde4e9;
}
body.newyear .informer:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: url("../images/newyear-bg.jpg") repeat 50% 50%;
    background-size: 500px auto;
    opacity: 0.2;
    z-index: -1;
}
.informer p {
    margin: 0 0 2px;
    font-size: 13px;
    line-height: 19px;
    text-align: center;
    font-weight: 500;
    color: #0489b3;
}
.informer p:first-child {
    margin: 0 0 8px;
}
.informer p:nth-child(2) {
    margin: 0 0 5px;
    font-size: 12px;
    line-height: 18px;
}
.informer p:last-child {
    margin-bottom: 0;
}
.informer p span {
    color: #1ab21a;
}

/* slider */
.slider__image {
    position: relative;
    height: 670px;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
}
.slider__image:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(5, 40, 49, 0.14);
}
.slider .slick-prev,
.slider .slick-next {
    width: 54px;
    height: 54px;
    border: 2px solid #fff;
    border-radius: 50%;
    z-index: 1;
}
.slider .slick-prev:before,
.slider .slick-next:before {
    display: none;
}
.slider .slick-prev {
    background: url("../images/arrow_left.svg") no-repeat 50% 50%;
    background-size: 8px 18px;
}
.slider .slick-prev {
    left: 30px;
}
.slider .slick-next {
    background: url("../images/arrow_right.svg") no-repeat 50% 50%;
    background-size: 10px 18px;
}
.slider .slick-next {
    right: 30px;
}

/* about */
.about {
    padding: 40px 0;
}
.about__headline {
    margin: 0 0 20px;
    font-size: 30px;
    line-height: 34px;
    font-weight: bold;
}

/* pluses */
.pluses {
    padding: 40px 0;
    background: #eff5f9;
}
.pluses__headline {
    margin: 0 0 30px;
    font-size: 28px;
    line-height: 32px;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
}
.pluses__list ul {
    position: relative;
    display: block;
    margin: -15px;
    padding: 0;
    text-align: center;
    overflow: hidden;
}
.pluses__list ul:after {
    content: "";
    display: table;
    clear: both;
}
.pluses__list ul li {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    padding: 15px;
    width: calc(33.33% - 4px);
}
.pluses__list ul li a {
    display: block;
}
.pluses__image {
    margin: 0 0 10px;
}
.pluses__image img {
    margin: 0 auto;
    border-radius: 50%;
}
.pluses__title {
    margin: 0 0 10px;
    font-size: 18px;
    line-height: 22px;
    font-weight: 600;
    color: #052831;
}
.pluses__text {
    font-size: 13px;
    line-height: 19px;
}

/* services */
.services {
    padding: 50px 0;
}
.services__list {
    margin: 50px 0 0;
}
.home .services__list {
    margin: 0;
}
.services__headline {
    margin: 0 0 25px;
    font-size: 24px;
    line-height: 28px;
    font-weight: bold;
    color: #0489b3;
    text-transform: uppercase;
    text-align: center;
}
.home .services__headline {
    margin: 0 0 30px;
    font-size: 28px;
    line-height: 32px;
}
.services__list ul {
    position: relative;
    display: block;
    margin: -5px;
    padding: 0;
    text-align: center;
    overflow: hidden;
}
.services__list ul:after {
    content: "";
    display: table;
    clear: both;
}
.services__list ul li {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    padding: 5px;
    width: calc(25% - 4px);
}
.home .services__list ul li {
    width: calc(20% - 4px);
}
.services__list ul li a {
    display: block;
    padding: 20px;
    background: #eff5f9;
    border: 2px solid #eff5f9;
    border-radius: 3px;
}
.services__image {
    margin: 0 0 15px;
    height: 64px;
    line-height: 64px;
}
.services__image img {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    height: auto;
    max-height: 100%;
}
.services__title {
    font-size: 15px;
    line-height: 19px;
    font-weight: 600;
    color: #59acd7;
}
.services__price {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 17px;
    font-weight: 600;
    color: #0489b3;
    white-space: nowrap;
}
.services__price span {
    font-size: 11px;
}

/* promo */
.promo {
    padding: 40px 0;
    background: #eff5f9;
}
.promo__headline {
    margin: 0 0 30px;
    font-size: 28px;
    line-height: 32px;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
}
.promo__list {
    position: relative;
}
.promo__list:after {
    content: "";
    display: table;
    clear: both;
}
.promo__list ul {
    position: relative;
    display: block;
    margin: -10px;
    padding: 0;
    text-align: center;
    overflow: hidden;
}
.promo__list ul:after {
    content: "";
    display: table;
    clear: both;
}
.promo__list ul li {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    padding: 10px;
    width: calc(50% - 4px);
    text-align: left;
}
.promo__item {
    position: relative;
    display: block;
    padding: 25px 120px 55px 40px;
    min-height: 240px;
    background: #109abf;
    border: 6px solid #fff;
    box-shadow: 0 3px 4px 0 rgba(7, 38, 46, 0.08);
    border-radius: 3px;
    color: #fff;
}
.promo__image {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    overflow: hidden;
}
.promo__image:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(16, 154, 191, 0.8);
    transition-duration: 0.2s;
    z-index: 1;
}
.promo__image img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
}
.promo__item i {
    position: absolute;
    right: -6px;
    top: 30px;
    display: block;
    width: 85px;
    height: 35px;
    background: #f04023;
    font-size: 13px;
    line-height: 13px;
    font-weight: 600;
    font-style: normal;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    z-index: 1;
}
.promo__item i:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}
.promo__title {
    position: relative;
    margin: 0 0 25px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    z-index: 1;
}
.promo__read {
    position: relative;
    width: 130px;
    height: 32px;
    border: 1px solid #fff;
    border-radius: 3px;
    font-size: 12px;
    line-height: 12px;
    font-weight: 600;
    text-align: center;
    transition-duration: 0.2s;
    z-index: 1;
}
.promo__read:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}
.promo__term {
    position: absolute;
    left: 40px;
    bottom: 20px;
    font-size: 12px;
    line-height: 16px;
    z-index: 1;
}
.promo__btn {
    position: relative;
    display: block;
    margin: 30px auto 0;
    width: 140px;
    height: 36px;
    background: #fff;
    border: 1px solid #109abf;
    border-radius: 3px;
    font-size: 13px;
    line-height: 13px;
    font-weight: 500;
    color: #037593;
    text-align: center;
}
.promo__btn:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}
.promo__btn svg {
    font-size: 11px;
    margin: 0 5px 0 0;
}

/* doctors */
.doctor__item {
    margin: 0 0 15px;
}
.doctor__item:last-child {
    margin-bottom: 0;
}
.doctor__btn {
    position: relative;
    padding: 15px 55px 15px 25px;
    background: #eff5f9;
    border: 1px solid #e2eef7;
    border-radius: 3px;
    transition-duration: 0.2s;
    cursor: pointer;
}
.doctor__btn svg {
    position: absolute;
    right: 25px;
    top: 36px;
    color: #0489b3;
    font-size: 10px;
    transition-duration: 0.2s;
}
.doctor__btn.open {
    background: #e2eef7;
    border-radius: 3px 3px 0 0;
}
.doctor__btn.open svg {
    transform: rotate(-180deg);
}
.doctor__name {
    margin: 0 0 5px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    color: #0489b3;
}
.doctor__post {
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
}
.doctor__about {
    display: none;
    padding: 20px 25px;
    border: 1px solid #e2eef7;
    border-radius: 0 0 3px 3px;
}

/* price */
.price__list {
    margin: 25px 0 30px;
}
.price__item {
    margin: 0 0 10px;
    text-align: center;
}
.price__item:last-child {
    margin-bottom: 0;
}
.price__title {
    display: inline-block;
    vertical-align: top;
    margin: 0 auto;
    padding: 12px 20px;
    min-width: 300px;
    background: #eff5f9;
    border: 1px solid #e2eef7;
    border-radius: 3px;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    color: #0489b3;
    letter-spacing: 0.02em;
    text-align: center;
    transition-duration: 0.2s;
    cursor: pointer;
}
.price__title svg {
    vertical-align: 1px;
    margin: 0 0 0 6px;
    font-size: 8px;
}
.price__title.open {
    background: #e2eef7;
}
.price__title.open svg {
    transform: rotate(-180deg);
}
.price__table {
    display: none;
}
.price__table .content table {
    margin: 20px auto 30px;
    border: 1px solid #ddd;
    border-collapse: collapse;
    text-align: left;
}
.price__item:last-child .price__table .content table {
    margin-bottom: 0;
}
.price__table .content th,
.price__table .content td {
    vertical-align: top;
    width: auto !important;
    border: 1px solid #ddd;
}
.price__table .content th:first-child,
.price__table .content td:first-child {
    width: 160px !important;
    white-space: nowrap;
}
.price__table .content th:last-child,
.price__table .content td:last-child {
    width: 100px !important;
    white-space: nowrap;
}
.price__table .content th {
    padding: 10px;
    background: #eff5f9;
    text-align: center;
}
.price__table .content h1,
.price__table .content h2,
.price__table .content h3,
.price__table .content h4,
.price__table .content h5,
.price__table .content h6 {
    margin: 0 0 5px;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
}
.price__table .content p {
    margin: 0 0 5px;
}
.price__table .content td > *:first-child,
.price__table .content th > *:first-child {
    margin-top: 5px !important;
}
.price__table .content td > *:last-child,
.price__table .content th > *:last-child {
    margin-bottom: 5px !important;
}

/* reviews */
.reviews {
    float: left;
    width: calc(100% - 360px - 50px);
}
.reviews__list > ul {
    display: block;
    margin: 0;
    padding: 0;
}
.reviews__list > ul > li {
    position: relative;
    display: block;
    margin: 0 0 20px;
    padding: 0 0 0 35px;
}
.reviews__list > ul > li:last-child {
    margin-bottom: 0;
}
.reviews__list > ul > li > svg {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 18px;
    color: #ddd;
    transform: skewX(-15deg);
}
.reviews__name {
    margin: 0 0 5px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    font-style: normal;
}
.reviews__text,
.reviews__answer {
    font-size: 12px;
    line-height: 18px;
    font-style: italic;
}
.reviews__answer {
    position: relative;
    margin: 15px 0 0 15px;
    padding: 0 0 0 30px;
}
.reviews__answer > svg {
    position: absolute;
    left: 0;
    top: -1px;
    font-size: 22px;
    color: #ddd;
    transform: skewX(-15deg);
}
.reviews__form {
    float: right;
    padding: 20px;
    width: 360px;
    background: #eee;
    border-radius: 3px;
}
.reviews__form > div {
    padding: 20px;
    background: #fff;
    border-radius: 3px;
}
.nav-links {
    margin: 30px 0 0;
    font-size: 13px;
    line-height: 13px;
    font-weight: 600;
    text-align: center;
}
.nav-links > span,
.nav-links > a {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}
.nav-links > span,
.nav-links > a:not(.prev):not(.next) {
    margin: 0 1px;
    padding: 8px 0;
    width: 32px;
    height: 32px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 3px;
    text-align: center;
}
.nav-links > a.prev {
    margin: 0 10px 0 0;
}
.nav-links > a.next {
    margin: 0 0 0 10px;
}
.nav-links > span.current {
    display: inline-block;
    vertical-align: middle;
    background: #ddd;
    font-weight: 600;
}

/* contacts */
.contacts__list {
    float: left;
    width: 320px;
}
.contacts__list > div {
    position: relative;
    margin: 0 0 15px;
    padding: 0 0 0 50px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 500;
}
.contacts__list > div:before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 32px;
    height: 32px;
    background: #0489b3;
    border-radius: 3px;
}
.contacts__list svg {
    position: absolute;
    left: 10px;
    top: 12px;
    font-size: 11px;
    color: #fff;
}
.contacts__address svg {
    left: 12px;
}
.contacts__list span {
    display: block;
    margin: 0 0 5px;
    font-size: 10px;
    line-height: 14px;
}
.contacts__list svg.fa-viber,
.contacts__list svg.fa-whatsapp {
    position: relative;
    left: 2px;
    top: 0;
    display: inline-block;
    vertical-align: top;
    color: #a766ca;
    font-size: 14px;
    margin: 0 0 0 5px;
}
.contacts__list svg.fa-whatsapp {
    top: -1px;
    color: #5dce43;
}
.contacts__email a {
    color: #0489b3;
}
.contacts__map {
    float: right;
    width: calc(100% - 370px);
    height: 320px;
}
.contacts__map iframe {
    height: 100%;
}

/* sidebar */
.page__sidebar {
    float: right;
    width: 280px;
}
.siderbar__menu ul {
    display: block;
    margin: 0;
    padding: 0;
}
.siderbar__menu ul li {
    display: block;
    margin: 0;
    padding: 0;
}
.siderbar__menu ul li a {
    display: block;
    margin: 0;
    padding: 0;
}
.siderbar__menu > ul > li {
    border-bottom: 1px solid #fff;
}
.siderbar__menu > ul > li:last-child {
    border-bottom: 0;
}
.siderbar__menu > ul > li > a {
    padding: 15px 20px;
    background: #0489b3;
    font-size: 14px;
    line-height: 18px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
}
.siderbar__menu > ul > li.current_page_item > a,
.siderbar__menu > ul > li.current_page_ancestor > a {
    background: #009dcf;
}
.siderbar__menu > ul > li > .sub-menu {
    border: 1px solid #0489b3;
}
.siderbar__menu > ul > li ul {
    display: none;
}
.siderbar__menu > ul > li.current_page_item > ul,
.siderbar__menu > ul > li.current_page_ancestor > ul,
.siderbar__menu .sub-menu > li.current_page_item > ul,
.siderbar__menu .sub-menu > li.current_page_ancestor > ul {
    display: block;
}
.siderbar__menu .sub-menu > li {
    border-bottom: 1px solid #d1dce3;
}
.siderbar__menu .sub-menu > li > a {
    position: relative;
    padding: 10px 20px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
    color: #01546e;
    text-transform: uppercase;
}
.siderbar__menu .sub-menu > li:last-child {
    border-bottom: 0;
}
.siderbar__menu > ul > li > .sub-menu > li.current_page_item > a,
.siderbar__menu > ul > li > .sub-menu > li.current_page_ancestor > a {
    background: #eff5f9;
}
.siderbar__menu .sub-menu .sub-menu {
    border-top: 1px solid #d1dce3;
}
.siderbar__menu .sub-menu .sub-menu li {
    border-bottom: 1px solid #d1dce3;
}
.siderbar__menu .sub-menu .sub-menu li:last-child {
    border-bottom: 0;
}
.siderbar__menu .sub-menu .sub-menu li a {
    position: relative;
    padding: 8px 30px;
    color: #002632;
    text-transform: none;
}
.siderbar__menu .sub-menu .sub-menu li.current_page_item > a {
    background: #f6f6f6;
}
.siderbar__menu ul ul ul ul {
    display: none !important;
}

.sidebar__promo {
    margin: 30px 0 0;
}
.sidebar__promo .promo__headline {
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 24px;
}
.sidebar__promo .promo__list ul {
    margin: 0;
}
.sidebar__promo .promo__list ul li {
    display: block;
    margin: 0 0 15px;
    padding: 0 4px;
    width: 100%;
}
.sidebar__promo .promo__list ul li:last-child {
    margin-bottom: 0;
}
.sidebar__promo .promo__item {
    padding: 15px 80px 45px 20px;
    min-height: 180px;
    border: 4px solid #fff;
}
.sidebar__promo .promo__item i {
    right: -4px;
    top: 15px;
    width: 65px;
    height: 28px;
    font-size: 10px;
    line-height: 10px;
}
.sidebar__promo .promo__title {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 20px;
}
.sidebar__promo .promo__read {
    width: 115px;
    height: 30px;
    font-size: 11px;
    line-height: 11px;
}
.sidebar__promo .promo__term {
    left: 20px;
    bottom: 15px;
    font-size: 11px;
    line-height: 15px;
}
.sidebar__promo .promo__btn {
    margin: 15px auto 0;
    width: 120px;
    height: 32px;
    font-size: 12px;
    line-height: 12px;
}
.sidebar__promo .promo__btn svg {
    font-size: 10px;
}

/* page */
.page__wrap {
    position: relative;
    padding: 0 0 60px;
}
.page__content:after {
    content: "";
    display: table;
    clear: both;
}
.page__content {
    float: left;
    width: calc(100% - 280px - 50px);
}

h1.headline {
    margin: 0 0 25px;
    font-size: 36px;
    line-height: 40px;
    font-weight: bold;
    text-transform: uppercase;
}
.breadcrumbs {
    margin: 0 0 15px;
    padding: 12px 0;
    border-bottom: 1px solid #dde4e9;
    font-size: 10px;
    line-height: 16px;
    font-weight: 500;
    color: #052831;
}
.breadcrumbs .separator {
    display: inline-block;
    vertical-align: middle;
    margin: 0 10px;
    width: 2px;
    height: 2px;
    background: #3ea4c5;
}
.breadcrumbs a {
    color: #052831;
}

.content > *:first-child {
    margin-top: 0 !important;
}
.content > *:last-child {
    margin-bottom: 0 !important;
}
.content a {
    border-bottom: 1px solid;
}
.content a.image {
    border-bottom: 0;
}
.content h1 {
    margin: 20px 0 15px;
    font-size: 24px;
    line-height: 28px;
    font-weight: 600;
}
.content h2 {
    margin: 20px 0 15px;
    font-size: 22px;
    line-height: 26px;
    font-weight: 600;
}
.content h3 {
    margin: 20px 0 15px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
}
.content h4 {
    margin: 20px 0 15px;
    font-size: 18px;
    line-height: 22px;
    font-weight: 600;
}
.content h5 {
    margin: 20px 0 15px;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
}
.content h6 {
    margin: 20px 0 15px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
}
.content p {
    margin: 0 0 15px;
    font-size: 14px;
    line-height: 20px;
    font-weight: normal;
}
.content ol {
    margin: 0 0 15px 20px;
}
.content ul {
    margin: 0 0 15px;
}
.content li {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 20px;
    font-weight: normal;
}
.content li:last-child {
    margin: 0;
}
.content ul li {
    position: relative;
    display: block;
    padding: 0 0 0 20px;
}
.content ul li:before {
    content: "";
    position: absolute;
    left: 6px;
    top: 9px;
    width: 4px;
    height: 4px;
    background: #000;
    border-radius: 50%;
}
.content table {
    border-collapse: collapse;
}
.content th,
.content td {
    padding: 5px 10px;
    font-size: 14px;
    line-height: 20px;
    font-weight: normal;
}
.content table:not([border]) th:first-child,
.content table:not([border]) td:first-child,
.content table[border="0"] th:first-child,
.content table[border="0"] td:first-child {
    padding-left: 0;
}
.content table:not([border]) th:last-child,
.content table:not([border]) td:last-child,
.content table[border="0"] th:last-child,
.content table[border="0"] td:last-child {
    padding-right: 0;
}
.content th {
    font-weight: 500;
    text-align: center;
}
.content img {
    margin: 5px 0 20px;
}
.content img.alignleft {
    margin: 5px 20px 5px 0;
    float: left;
}
.content img.alignright {
    margin: 5px 0 5px 20px;
    float: right;
}
.content img.alignnone {
    display: inline;
    margin: 5px 0 0;
}
.content img.aligncenter {
    margin: 5px auto 20px;
}
.table__wrapper {
    position: relative;
    margin: 0 0 15px;
    overflow: hidden;
}
.table__wrapper .table__scrollable {
    overflow-y: hidden;
}
.table__wrapper .swipe {
    display: none;
    margin: 15px auto 0;
    width: 20px;
    height: 20px;
    background: url("../images/svg/swipe.svg") no-repeat;
    background-size: 100% auto;
}
.table__wrapper.wide .swipe {
    display: block;
}
.content .image__table th,
.content .image__table td {
    padding: 5px;
    background: none !important;
    border: 0 !important;
    vertical-align: top;
    white-space: normal !important;
    font-weight: normal;
    color: #333;
}
.content .image__table th:first-child,
.content .image__table td:first-child {
    padding-left: 0;
}
.content .image__table th:last-child,
.content .image__table td:last-child {
    padding-right: 0;
}
.content .image__table tr:first-child th,
.content .image__table tr:first-child td {
    padding-top: 0;
}
.content .image__table tr:last-child th,
.content .image__table tr:last-child td {
    padding-bottom: 0;
}
.content .image__table a {
    display: block;
}
.content .image__table img {
    margin: 0 !important;
}
.content .image__caption {
    display: block;
    margin: 5px 0;
    font-size: 12px;
    line-height: 16px;
}
.content pre:last-child {
    text-align: center;
    white-space: normal;
}
.gallery {
    margin: -5px !important;
}
.gallery-item {
    margin: 0 !important;
    padding: 5px !important;
    overflow: hidden;
}
.gallery:not(:last-child) {
    margin-bottom: 10px !important;
}
.gallery-item a {
    position: relative;
    display: block;
    overflow: hidden;
}
.gallery-item a:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #fff;
    opacity: 0;
    transition-duration: 0.2s;
}
.gallery-item img {
    margin: 0 !important;
    border: 0 !important;
}
.gallery-caption {
    display: block;
    margin: 5px 0;
    font-size: 12px;
    line-height: 16px;
}

.page__btn {
    position: relative;
    display: block;
    clear: both;
    margin: 30px auto;
    padding: 0 30px;
    width: auto;
    max-width: 260px;
    height: 44px;
    background: #0489b3;
    border: 0 !important;
    border-radius: 3px;
    font-size: 14px;
    line-height: 44px;
    font-weight: 500;
    color: #fff;
    text-align: center;
    white-space: nowrap;
}
.page__btn:last-child {
    margin-bottom: 0;
}

.wp-pagenavi {
    margin: 30px 0 0;
    font-size: 13px;
    line-height: 13px;
    font-weight: 600;
    text-align: center;
}
.wp-pagenavi span.pages {
    display: none;
}
.wp-pagenavi a,
.wp-pagenavi span {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}
.wp-pagenavi span,
.wp-pagenavi a:not(.previouspostslink):not(.nextpostslink) {
    margin: 0 2px;
    padding: 8px 0;
    width: 32px;
    height: 32px;
    background: #fff;
    border: 1px solid #ddd !important;
    border-radius: 3px;
    text-align: center;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
    padding: 6px 0;
    border: 0 !important;
}
.wp-pagenavi a.previouspostslink {
    margin: 0 10px 0 0;
}
.wp-pagenavi a.nextpostslink {
    margin: 0 0 0 10px;
}
.wp-pagenavi span.current {
    background: #ddd;
    font-weight: 600;
}

/* footer */
.footer {
    position: relative;
    overflow: hidden;
}
.footer__left {
    position: relative;
    float: left;
    padding: 40px 60px 40px 0;
    width: 50%;
    height: 100%;
    background: #052932;
    color: #fff;
}
.footer__left:before {
    content: "";
    position: absolute;
    left: -100%;
    right: 0;
    top: 0;
    bottom: 0;
    background: #052932;
    z-index: -1;
}
.footer__contacts {
    margin: 0 0 30px;
}
.footer__contacts > div {
    position: relative;
    margin: 0 0 15px;
    padding: 0 0 0 50px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 500;
    color: #fff;
}
.footer__contacts > div:before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 32px;
    height: 32px;
    background: #025b73;
    border-radius: 3px;
}
.footer__contacts svg {
    position: absolute;
    left: 10px;
    top: 12px;
    font-size: 11px;
}
.footer__address svg {
    left: 12px;
}
.footer__contacts span {
    display: block;
    margin: 0 0 5px;
    font-size: 10px;
    line-height: 14px;
}
.footer__contacts svg.fa-viber,
.footer__contacts svg.fa-whatsapp {
    position: relative;
    left: 2px;
    top: 0;
    display: inline-block;
    vertical-align: top;
    color: #a766ca;
    font-size: 14px;
    margin: 0 0 0 5px;
}
.footer__contacts svg.fa-whatsapp {
    top: -1px;
    color: #5dce43;
}
.footer__contacts a {
    color: #fff;
}
.footer__policy {
    margin: 0 0 30px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.footer__policy a {
    font-size: 12px;
    line-height: 16px;
    font-weight: 500;
    color: #27b6dc;
    display: block;
}
.footer__copyright {
    font-size: 10px;
    line-height: 16px;
}
.footer__right {
    position: relative;
    float: right;
    padding: 40px 0 40px 60px;
    width: 50%;
    height: 100%;
    background: #021f26;
    color: #fff;
}
.footer__right:before {
    content: "";
    position: absolute;
    left: 0;
    right: -100%;
    top: 0;
    bottom: 0;
    background: #021f26;
    z-index: -1;
}

/* modal */
.blocker {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    background-color: rgba(0, 0, 0, 0.5);
    text-align: center;
    overflow: auto;
    z-index: 108;
}
.blocker:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}
.blocker.behind {
    background-color: transparent;
}
a.close-modal {
    position: absolute;
    right: 15px;
    top: 15px;
    display: block;
    width: 16px;
    height: 16px;
    text-indent: -9999px;
}
a.close-modal:after,
a.close-modal:before {
    content: "";
    position: absolute;
    left: 7px;
    top: 0;
    width: 2px;
    height: 16px;
    background: #231f20;
}
a.close-modal:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
a.close-modal:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.modal {
    position: relative;
    display: none;
    vertical-align: middle;
    margin: auto;
    width: 100%;
    max-width: 500px;
    min-height: 50px;
    padding: 15px;
    background: #fff;
    text-align: left;
    overflow: hidden;
    z-index: 109;
}

/* form */
input:focus,
textarea:focus {
    outline-style: none !important;
}
input,
textarea {
    display: inline-block;
    vertical-align: middle;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    font-family: 'Montserrat', Tahoma, sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 13px;
    line-height: 19px;
}

input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
textarea {
    height: 40px;
    padding: 0 10px;
    background: #fff;
    border: 1px solid #ddd;
}
textarea {
    vertical-align: top;
    height: 100px;
    min-height: 40px;
    padding: 8px 10px;
    overflow: hidden;
}
input[type="search"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    overflow: visible;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #ddd;
    outline: none;
    background: #fff;
    font-family: 'Montserrat', Tahoma, sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 13px;
    line-height: 21px;
    cursor: pointer;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
}
button::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner {
    padding: 0;
    border: 0;
}

label {
    position: relative;
    display: block;
    margin: 0;
    padding: 0 0 0 25px;
    font-family: 'Montserrat', Tahoma, sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 13px;
    line-height: 21px;
    cursor: pointer;
}

.jq-checkbox,
.jq-radio {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    overflow: hidden;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 16px;
    height: 16px;
    border: 0;
    box-shadow: 0 0 0 1px #ccc inset;
    background: #fff;
    border-radius: 3px;
    cursor: pointer;
}
.jq-checkbox.checked .jq-checkbox__div {
    width: 8px;
    height: 5px;
    margin: 4px 0 0 4px;
    border-bottom: 2px solid #025b73;
    border-left: 2px solid #025b73;
    -webkit-transform: rotate(-50deg);
    transform: rotate(-50deg);
}
.jq-radio {
    border-radius: 50%;
}
.jq-radio.checked {
    background: #ddd;
    box-shadow: 0 0 0 1px #ddd inset;
}
.jq-radio.checked .jq-radio__div {
    position: relative;
    width: 6px;
    height: 6px;
    margin: 5px 0 0 5px;
    border-radius: 50%;
    background: #025b73;
}
.jq-checkbox input,
.jq-radio input {
    position: absolute;
    z-index: -1;
    margin: 0;
    padding: 0;
    opacity: 0;
}

form {
    position: relative;
}
form.wpcf7-form .form__body br {
    display: none;
}
span.wpcf7-form-control-wrap {
    display: block;
    margin: 0;
    clear: both;
}
label span.wpcf7-form-control-wrap {
    position: absolute;
    left: 0;
    top: 0;
}
span.privacy-policy {
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
}
span.wpcf7-not-valid-tip {
    display: none !important;
}
div.wpcf7 form .wpcf7-response-output {
    position: relative;
    margin: 15px 0 0;
    padding: 5px 10px;
    border: 1px solid #fff;
    font-size: 12px;
    line-height: 18px;
    font-weight: normal;
    font-style: italic;
    color: #fff;
    text-align: center;
    clear: both;
}
div.wpcf7 form.invalid .wpcf7-response-output {
    border-color: #ff0000;
    color: #ff0000;
}
div.wpcf7 form.sent .wpcf7-response-output {
    border-color: #008000;
    color: #008000;
}
input.wpcf7-not-valid,
textarea.wpcf7-not-valid {
    border-color: #ff0000 !important;
}
.wpcf7-not-valid .jq-checkbox {
    box-shadow: 0 0 0 1px #ff0000 inset !important;
}
div.wpcf7 .ajax-loader {
    display: none !important;
}
span.wpcf7-spinner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
}
.wpcf7-list-item {
    margin: 0;
}

.form__title {
    margin: 0 0 10px;
    font-size: 18px;
    line-height: 22px;
    font-weight: 600;
    color: #0489b3;
    text-transform: uppercase;
    text-align: center;
}
.footer .form__title {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.02em;
    color: #fff;
}
.form__text {
    margin: 0 0 20px;
    font-size: 13px;
    line-height: 17px;
    text-align: center;
}
.form__body {
    margin: 0 0 30px;
}
.form__body span[data-name="your-name"] {
    margin: 0;
}
.footer .form__body span[data-name="your-name"] {
    margin: 0 0 15px;
    float: left;
    width: calc(60% - 30px);
    clear: none;
}
.form__body span[data-name="your-tel"] {
    margin: 0;
}
.footer .form__body span[data-name="your-tel"] {
    margin: 0 0 15px;
    float: right;
    width: 40%;
    clear: none;
}
.form__body span[data-name="your-message"] {
    margin: 15px 0 0;
}
.footer .form__body span[data-name="your-message"] {
    margin: 0;
}
.form__body input[type="text"],
.form__body input[type="tel"],
.form__body textarea {
    padding: 0;
    width: 100%;
    height: 40px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #3c6873;
}
.form__body textarea {
    height: 44px;
    min-height: 44px;
}
.footer .form__body input[type="text"],
.footer .form__body input[type="tel"],
.footer .form__body textarea {
    height: 48px;
    color: #fff;
}
.footer .form__body textarea {
    height: 52px;
    min-height: 52px;
}
.form__agreement {
    margin: 0 0 20px;
}
.form__agreement label {
    margin: 0;
    font-size: 11px;
    line-height: 15px;
    font-weight: 500;
}
.footer .form__agreement label {
    color: #9da8ab;
}
.form__agreement a {
    color: #27b6dc;
}
.form__required {
    margin: 0 0 30px;
    font-size: 11px;
    line-height: 15px;
    font-weight: 500;
}
.footer .form__required {
    color: #9da8ab;
}
.form__submit {
    text-align: right;
}
.form__submit input[type="submit"]{
    padding: 0;
    width: 140px;
    height: 40px;
    background: #0489b3;
    border: 0;
    border-radius: 3px;
    font-size: 12px;
    line-height: 12px;
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.footer .form__submit input[type="submit"]{
    background: #025b73;
}

/* New Year */
@keyframes snow {
    0% {background-position: 0px 0px, 0px 0px, 0px 0px;}
    100% {background-position: 500px 1000px, 400px 400px, 300px 300px;}
}
body.newyear .snow {
    background-image: url("../images/snowflake.png"), url("../images/snowflake3.png"), url("../images/snowflake2.png");
    height: 100vh;
    animation: snow 20s linear infinite;
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
}
body.newyear .header__logo:before {
    content: "";
    position: absolute;
    left: -21px;
    top: -22px;
    width: 72px;
    height: 72px;
    background: url("../images/newyear-hat.png") no-repeat;
    background-size: 100% auto;
}
body.newyear .decor {
    position: relative;
    z-index: 1;
}
body.newyear .decor:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
/*    top: -28px;*/
/*    height: 68px;*/
/*    background: url("../images/newyear-lights.png") repeat-x 50% 100%;*/
/*    background-size: auto 100%;*/
    top: -1px;
    height: 12px;
    background: url("../images/newyear-garland.svg") repeat-x;
    background-size: 100px 12px;
}
/* ============================================ */
/* КП-4572 ПРАВКИ */
/* ============================================ */

/* 1.1 Слайдер: фото видно полностью + размытый фон по краям */

/* FOUC fix: скрываем лишние слайды до инициализации Slick */
#slider:not(.slick-initialized) > div:not(:first-child) {
    display: none;
}

.slider__image {
    height: 670px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #052831;
}

/* Размытый фон — то же фото растянуто на весь контейнер */
.slider__image-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(18px);
    transform: scale(1.08); /* убирает белые края от blur */
    opacity: 0.9;
    z-index: 0;
    display: block;
}

/* Основное фото — вписано по высоте, видно целиком */
.slider__image-main {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* Затемнение поверх всего */
.slider__image:after {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 0; bottom: 0;
    background: rgba(5, 40, 49, 0.14);
    pointer-events: none;
    z-index: 2;
}

/* 4.3 Sticky header */
.header {
    transition: box-shadow 0.3s ease, background 0.3s ease;
    z-index: 1000;
}
.header.sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 2px 15px rgba(0,0,0,0.15);
    z-index: 9999;
}
.header.sticky .header__link {
    display: none;
}
.header-spacer {
    display: none;
}
.header-spacer.active {
    display: block;
}

/* 1.3 Блок "О клинике и врачах" */
.clinic-about {
    padding: 50px 0 40px;
    background: #f7f9fa;
}
.clinic-about__headline {
    text-align: center;
    font-size: 26px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 30px;
    color: #052831;
}
.clinic-about__content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}
.clinic-about__text p {
    font-size: 15px;
    line-height: 24px;
    margin-bottom: 15px;
    color: #333;
}
.clinic-about__btn {
    display: inline-block;
    margin-top: 15px;
    padding: 14px 35px;
    background: #2a9baa;
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 3px;
    transition: background 0.3s;
}
.clinic-about__btn:hover {
    background: #1d7a86;
}

/* 1.5 Блок "Что такое Цифровая стоматология" */
.digital-info {
    padding: 50px 0;
    background: #fff;
}
.digital-info__headline {
    text-align: center;
    font-size: 26px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 40px;
    color: #052831;
}
.digital-info__content {
    display: flex;
    gap: 30px;
    justify-content: center;
}
.digital-info__item {
    flex: 1;
    max-width: 320px;
    text-align: center;
    padding: 30px 20px;
    background: #f7f9fa;
    border-radius: 8px;
}
.digital-info__icon {
    font-size: 40px;
    color: #2a9baa;
    margin-bottom: 20px;
}
.digital-info__item h3 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #052831;
}
.digital-info__item p {
    font-size: 14px;
    line-height: 22px;
    color: #555;
}

/* 1.4 Слайдер скриншотов отзывов */
.reviews-slider {
    padding: 40px 0 45px;
    background: #f7f9fa;
}
.reviews-slider__headline {
    text-align: center;
    font-size: 26px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 25px;
    color: #052831;
}
#reviews-carousel .slick-slide {
    margin: 0 10px;
}
#reviews-carousel .slick-list {
    margin: 0 -10px;
}
.reviews-slider__item {
    cursor: pointer;
}
.reviews-slider__item img {
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
    transition: box-shadow 0.2s, transform 0.2s;
}
.reviews-slider__item:hover img {
    box-shadow: 0 6px 20px rgba(0,0,0,0.18);
    transform: translateY(-2px);
}
.reviews-slider__cta {
    text-align: center;
    margin-top: 30px;
}
.reviews-slider__btn {
    display: inline-block;
    padding: 14px 35px;
    background: #2a9baa;
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 3px;
    transition: background 0.3s;
}
.reviews-slider__btn:hover {
    background: #1d7a86;
}
#reviews-carousel .slick-prev,
#reviews-carousel .slick-next {
    width: 42px;
    height: 42px;
    border: 2px solid #2a9baa;
    border-radius: 50%;
    z-index: 1;
    background-color: rgba(255,255,255,0.9);
}
#reviews-carousel .slick-prev:before,
#reviews-carousel .slick-next:before {
    color: #2a9baa;
    font-size: 20px;
}
#reviews-carousel .slick-prev { left: -15px; }
#reviews-carousel .slick-next { right: -15px; }

/* 4.5 WhatsApp виджет */
.whatsapp-widget {
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0.4s;
}
.whatsapp-widget.visible {
    opacity: 1;
    visibility: visible;
}
.whatsapp-widget a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: #25D366;
    border-radius: 50%;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
    transition: transform 0.3s, box-shadow 0.3s;
}
.whatsapp-widget a:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.5);
}
.whatsapp-widget a svg {
    width: 32px;
    height: 32px;
    fill: #fff;
}

/* 4.2 Popup сохранение цен */
.price-popup-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6);
    z-index: 99999;
    justify-content: center;
    align-items: center;
}
.price-popup-overlay.active {
    display: flex;
}
.price-popup {
    background: #fff;
    border-radius: 12px;
    max-width: 520px;
    width: 90%;
    padding: 40px 35px;
    position: relative;
    text-align: center;
    box-shadow: 0 10px 40px rgba(0,0,0,0.25);
}
.price-popup__close {
    position: absolute;
    top: 12px;
    right: 16px;
    font-size: 28px;
    cursor: pointer;
    color: #999;
    line-height: 1;
    transition: color 0.2s;
}
.price-popup__close:hover { color: #333; }
.price-popup__badge {
    display: inline-block;
    background: #e74c3c;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 5px 18px;
    border-radius: 20px;
    margin-bottom: 18px;
    text-transform: uppercase;
}
.price-popup h3 {
    font-size: 22px;
    font-weight: 700;
    color: #052831;
    margin-bottom: 12px;
    line-height: 1.3;
}
.price-popup p {
    font-size: 15px;
    line-height: 24px;
    color: #555;
    margin-bottom: 20px;
}
.price-popup__cta {
    display: inline-block;
    padding: 15px 40px;
    background: #2a9baa;
    color: #fff !important;
    font-size: 15px;
    font-weight: 600;
    border-radius: 4px;
    transition: background 0.3s;
    cursor: pointer;
    border: none;
    text-transform: uppercase;
}
.price-popup__cta:hover { background: #1d7a86; }

/* Media queries for new blocks */
@media (max-width: 768px) {
    .digital-info__content {
        flex-direction: column;
        align-items: center;
    }
    .digital-info__item {
        max-width: 100%;
    }
    .whatsapp-widget a {
        width: 50px;
        height: 50px;
    }
    .whatsapp-widget a svg {
        width: 26px;
        height: 26px;
    }
}

/* Fix popup button class name */
.price-popup__btn {
    display: inline-block;
    padding: 15px 40px;
    background: #2a9baa;
    color: #fff !important;
    font-size: 15px;
    font-weight: 600;
    border-radius: 4px;
    transition: background 0.3s;
    cursor: pointer;
    border: none;
    text-transform: uppercase;
    text-decoration: none;
}
.price-popup__btn:hover { background: #1d7a86; }

/* Fix popup close button */
.price-popup__close {
    border: none;
    background: none;
    padding: 0;
}

/* WhatsApp widget icon — увеличенная (70% от диаметра круга 60px) */
.whatsapp-widget a i,
.whatsapp-widget a svg {
    font-size: 42px;
    width: 42px;
    height: 42px;
    color: #fff;
    fill: #fff;
}

/* ============================================ */
/* КОМАНДА, АККОРДЕОН, LIGHTBOX, ПРОЧИЕ ПРАВКИ */
/* ============================================ */

/* Блок "Единый подход — слаженная команда" */
.clinic-about {
    padding: 50px 0 40px;
    background: #f7f9fa;
}
.clinic-team {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}
.clinic-team__info {
    flex: 1;
    min-width: 0;
}
.clinic-team__headline {
    font-size: 34px;
    font-weight: 700;
    color: #052831;
    text-transform: uppercase;
    margin-bottom: 24px;
    line-height: 1.35;
}
.clinic-team__subtitle {
    font-size: 15px;
    line-height: 24px;
    color: #555;
    margin-bottom: 20px;
}
.clinic-team__principles {
    list-style: none;
    padding: 0;
    margin: 0 0 25px;
}
.clinic-team__principles li {
    position: relative;
    padding: 0 0 12px 28px;
    font-size: 14px;
    line-height: 20px;
    color: #333;
}
.clinic-team__principles li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 14px;
    height: 14px;
    background: #2a9baa;
    border-radius: 50%;
}
.clinic-team__grid {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    min-width: 0;
}
.team-card {
    text-align: center;
    background: #fff;
    border: 1px solid #e0eaf0;
    border-radius: 10px;
    padding: 16px 12px 18px;
}
.team-card__photo {
    width: 100%;
    aspect-ratio: 3 / 4;
    margin: 0 auto 12px;
    border-radius: 8px;
    overflow: hidden;
    background: #0a0a0a;
    display: flex;
    align-items: center;
    justify-content: center;
}
.team-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.team-card__no-photo {
    font-size: 34px;
    color: #0489b3;
    line-height: 1;
}
.team-card__name {
    font-size: 13px;
    font-weight: 700;
    color: #052831;
    margin-bottom: 5px;
    line-height: 17px;
}
.team-card__post {
    font-size: 12px;
    line-height: 16px;
    color: #0489b3;
}

/* Lightbox для отзывов */
.review-lightbox {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 100000;
}
.review-lightbox.active {
    display: flex;
    align-items: center;
    justify-content: center;
}
.review-lightbox__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.88);
    cursor: pointer;
}
.review-lightbox__wrap {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 96vw;
}
.review-lightbox__img {
    max-width: 78vw;
    max-height: 88vh;
    border-radius: 8px;
    display: block;
    object-fit: contain;
    box-shadow: 0 8px 40px rgba(0,0,0,0.5);
}
.review-lightbox__close {
    position: absolute;
    top: -44px;
    right: 0;
    width: 38px;
    height: 38px;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    padding: 0;
}
.review-lightbox__close:hover { background: rgba(255,255,255,0.3); }
.review-lightbox__prev,
.review-lightbox__next {
    width: 46px;
    height: 46px;
    background: rgba(255,255,255,0.12);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}
.review-lightbox__prev:hover,
.review-lightbox__next:hover { background: rgba(255,255,255,0.28); }

/* Фикс аккордеона врачей */
.doctor__btn svg {
    top: 50%;
    transform: translateY(-50%);
}
.doctor__btn.open svg {
    transform: translateY(-50%) rotate(-180deg);
}
.doctor__about {
    overflow: hidden;
}
.doctor__about .content img {
    max-width: 100% !important;
    height: auto !important;
    width: auto !important;
    display: block;
    float: none !important;
    clear: both;
    margin: 8px auto;
}
.doctor__about .content {
    overflow: hidden;
}

/* ====================== */
/* Карточка услуги          */
/* ====================== */
.service-card {
    display: flex;
    gap: 30px;
    background: #fff;
    border: 1px solid #e0eaf0;
    border-radius: 14px;
    padding: 28px;
    margin-bottom: 10px;
    align-items: flex-start;
}
.service-card__image {
    flex-shrink: 0;
    width: 360px;
}
.service-card__image img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    display: block;
}
.service-card__text {
    flex: 1;
    min-width: 0;
}
.service-card__text .content {
    float: none;
}
.service-card__text .content p:last-child {
    margin-bottom: 0;
}

/* Обтекаемый layout для подстраниц услуг */
.service-card--flow {
    display: block;
    overflow: hidden;
}
.service-card--flow .content {
    display: block;
    float: none;
    overflow: visible;
}
.service-card__float-img {
    float: left;
    width: 320px;
    height: auto;
    border-radius: 20px;
    margin: 0 28px 18px 0;
    display: block;
    shape-outside: margin-box;
}
.service-card--flow .content h2,
.service-card--flow .content h3 {
    font-weight: 700;
}
@media (max-width: 768px) {
    .service-card__float-img {
        float: none;
        width: 100%;
        max-width: 360px;
        margin: 0 0 20px;
    }
}

/* ====================== */
/* Страница врачей (новая) */
/* ====================== */
.doctors-intro {
    font-size: 15px;
    line-height: 1.7;
    color: #555;
    max-width: 750px;
    margin-bottom: 40px;
}
.doctors-page {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 40px;
}
.doctor-card {
    display: flex;
    gap: 20px;
    background: #fff;
    border: 1px solid #e0eaf0;
    border-radius: 14px;
    padding: 22px;
    align-items: flex-start;
}
.doctor-card__photo-wrap {
    flex-shrink: 0;
    width: 140px;
}
.doctor-card__photo {
    width: 100%;
    border-radius: 12px;
    display: block;
}
.doctor-card__info {
    flex: 1;
    min-width: 0;
}
.doctor-card__name {
    font-size: 20px;
    font-weight: 700;
    color: #052831;
    margin: 0 0 4px;
    line-height: 1.3;
}
.doctor-card__specialization {
    font-size: 14px;
    color: #0489b3;
    font-weight: 500;
    margin-bottom: 10px;
}
.doctor-card__experience {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e8f4f8;
    color: #052831;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 13px;
    margin-bottom: 14px;
}
.doctor-card__experience i {
    color: #0489b3;
    font-size: 16px;
}
.doctor-card__section-title {
    font-size: 14px;
    font-weight: 700;
    color: #052831;
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.doctor-card__section-title i {
    color: #0489b3;
    font-size: 13px;
}
.doctor-card__edu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.doctor-card__edu-list li {
    position: relative;
    padding: 0 0 6px 14px;
    font-size: 13px;
    line-height: 1.5;
    color: #444;
}
.doctor-card__edu-list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    background: #2a9baa;
    border-radius: 50%;
}
.doctor-card__edu-list li:last-child {
    padding-bottom: 0;
}
@media (max-width: 768px) {
    .doctor-card {
        flex-direction: column !important;
        padding: 16px;
        gap: 16px;
    }
    .doctor-card__photo-wrap {
        width: 120px;
    }
    .doctor-card__name {
        font-size: 18px;
    }
}

/* Заголовки на страницах услуг — полужирные */
.page__content .content h2,
.page__content .content h3,
.page__content .content h4 {
    font-weight: 700;
}

/* Адаптив для блока команды */
@media (max-width: 900px) {
    .clinic-team {
        flex-direction: column;
    }
    .clinic-team__grid {
        width: 100%;
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 480px) {
    .clinic-team__grid {
        grid-template-columns: 1fr;
    }
    .review-lightbox__img {
        max-width: 95vw;
    }
    .review-lightbox__prev,
    .review-lightbox__next {
        width: 36px;
        height: 36px;
        font-size: 13px;
    }
}
