

/* Start:/local/templates/krugozor/template_styles.css?177857647928865*/
.first__filter-item.active .first__filter-btn {
background: #0d3578;
color: #fff;
}

/* WCAG AA contrast fix: card caption + secondary action (use !important to win specificity from main.css) */
.service-caption,
.service-caption span,
.service-caption-row .service-caption,
.service-caption-row .service-caption span,
.service .service-caption,
.service .service-caption span,
.specialist-caption,
.review-date {
  color: #4a4a4a !important;
}
.btn.btn-solid,
.btn.btn-solid.service-btn,
a.btn.btn-solid {
  color: #0d3578;
  background: #eef2f7;
  border-color: #d4ddea;
}
.btn.btn-solid:hover,
a.btn.btn-solid:hover {
  background: #d8e1ed;
  color: #0d3578;
}

/* Booking form on homepage: ensure placeholder + label contrast meets AA */
.enroll__form .input__label,
.enroll__form label,
.enroll__form-description {
  color: #2d2d2d !important;
}
.enroll__form input::placeholder,
.enroll__form textarea::placeholder {
  color: #5a5a5a !important;
}


.city__modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9998;
background: rgba(0,0,0,.55);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 200ms ease-out, visibility 0s linear 200ms;
display: flex;
align-items: center;
justify-content: center;
}
.city__modal.open {
opacity: 1;
visibility: visible;
pointer-events: auto;
transition: opacity 200ms ease-out, visibility 0s linear 0s;
}
.city__modal_wrapper {
position: relative;
background: #fff;
border-radius: 14px;
padding: 28px 24px 20px;
min-width: 280px;
width: min(440px, calc(100vw - 32px));
box-shadow: 0 24px 60px rgba(17,64,147,.18);
transform: scale(.96);
transition: transform 220ms cubic-bezier(.16,1,.3,1);
}
.city__modal.open .city__modal_wrapper {
transform: scale(1);
}
.city__modal_close {
position: absolute;
top: 10px;
right: 10px;
width: 40px;
height: 40px;
padding: 10px;
border-radius: 50%;
cursor: pointer;
color: #333;
background: transparent;
border: none;
transition: background 150ms ease;
box-sizing: border-box;
}
.city__modal_close:hover {
background: #f3f4f6;
}
.city__modal_close:focus-visible {
outline: 3px solid #114093;
outline-offset: 2px;
}
.city__modal_title {
color: #0d3578;
font-weight: 700;
font-size: clamp(20px, 5vw, 28px);
font-family: "Manrope", sans-serif;
text-align: center;
margin: 0 0 22px;
padding-right: 32px;
}
.city__modal_selector {
margin: 0 0 18px;
padding: 0;
list-style: none;
display: flex;
flex-direction: column;
gap: 6px;
}
.city__modal_selector > li > a {
display: block;
font-size: 16px;
font-weight: 500;
color: #114093;
text-align: center;
padding: 14px 16px;
border-radius: 10px;
text-decoration: none;
border: 1.5px solid transparent;
transition: background 150ms ease, border-color 150ms ease;
}
.city__modal_selector > li > a:hover {
background: #eef3fb;
}
.city__modal_selector > li > a:focus-visible {
outline: 3px solid #114093;
outline-offset: 2px;
}
.city__modal_selector > li.is-current > a {
background: #eef3fb;
border-color: #114093;
font-weight: 600;
}
.city__modal_footer {
display: flex;
justify-content: center;
}
.city__modal_footer .btn {
min-height: 44px;
padding: 10px 24px;
}



.contacts__item {
    display: flex;
align-items: center;
    margin-top: 35px;
}
.contacts__item_title {
    font-family: "Manrope", sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 26px;
margin-right: 30px;
}
.contacts__item_value {
    font-family: "Manrope", sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 26px;
}

.contacts__table {
margin-top: 15px;
}
.contacts__table_row {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 0;
border-bottom: 1px solid #fff;

    font-family: "Manrope", sans-serif;
    font-size: 24px;
    line-height: 26px;
}


.services-page .first__title {
    max-width: 90%;
}
.service-page .first__inner {
align-items: flex-start !important;
}
.service-page .first__text ul  {
margin-top: 10px;
}
.service-page .first__text ul > li {
    list-style-type: circle !important;
    margin-left: 40px;
padding: 2px 0;
}
.service-page .first__img {
border-radius: 30px;
}

.service-page .licenses__slider-3 .swiper-slide-active img {
    max-width: 600px;
    width: 420px;
    height: auto !important;
}

.footer__nav, .footer__contacts {
margin-left: unset !important;
}
.footer .container {
justify-content: space-between;
}
.footer__contacts_row {
    margin-top: 10px;
    padding: 5px 0;
    border-bottom: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    font-size: 14px;
}

.footer__contacts-wide {
    flex-grow: 1;
    max-width: 320px;
}
.footer__contacts-col {
width: 100%;
}

@media (min-width: 1000px) and (max-width: 1439px) {
.footer__col-logo {
    margin-right: 0 !important;
}
}

@media (min-width: 768px) and (max-width: 999px) {
.footer .container {
flex-wrap: wrap !important;
}
.footer__nav {
    margin-bottom: 60px;
}
}


.service-page .first__text p {
font-weight: inherit !important;
}
.service-page .first__text h3 {
margin-top: 30px;
}
.service-page .results__list {
margin-bottom: 30px;
}


.services__blog .service-head {
height: auto;
    max-height: 80px;
    margin-bottom: 10px;
}

.back {
margin-bottom: 20px;
color: #0d3578;
font-size: 18px;
}

.services.services__blog {
padding-top: 40px !important;
}


@media screen and (max-width: 720px) {
.home .contacts {

}
.home .contacts .contacts__map {
display: none;
}

.contacts__item_value {
    font-size: 16px;
    line-height: 16px;
}

.contacts__item_title {
    font-size: 14px;
    flex-grow: 1;
    line-height: 26px;
}

.contacts__table_row {
font-size: 16px;
}

.home .contacts__work { display: none; }

}



.bvi-open {
position: relative;
background: #FDFDFD;
border-radius: 5px;
padding: 1px 5px 1px 36px;
font-size: 14px;
font-weight: 500;
margin-left: 20px;
}
.bvi-open:after {
display: block;
content: '';
position: absolute;
top: 50%;
left: 5px;
width: 22px;
height: 15px;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAQCAYAAAAS7Y8mAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAG5SURBVHgBlVRLcoJAEGVAq7J074YjTNQFS3KClCfQG2h22QknMN5ATmBuELJzoYYjkI3bUKVLhbymZigzaaDsKqBnuvvN6w8jrAbxfb93Pp9lnueubdsu7UHPoCe73S5uihXcpud57uVymRVFMcWyVxOb4XnvdrvhdrtNW4EHg8FSCDG37hAQCA6HQ8gCK5YbOMk/DkLE+ISwJZBsNBr5KpOJgZ+A/VizL4GplqfT6Quqa4CGqGVgMYIDAhywMMGv1+sTEbBpBdClCQpZa1CUZzEcDn/oASD5WsoWGzHScZzS7iBoCmaByQh7L8fjMVU1f8XWg3q8fr8vYIvx/cZ6aoJj/9NG0MxiRI8T7GYgNauMobpzsVQiKkXGGaWUdWNWCdWS2weZHjEOOWOn05HKacWYI3rRhHCx+IlWtko5Mo2646pJBE7sMiKy3+/nymfC4K4x0+ty3ChtdPODVAP83+BroUlhmp5i3B6pRNUPAnAX4BsTnBgAIKLM9N2hsvFvneCToJljgKbl2mRSM/htstLlqQ7ivBT7AOqz1XwJRUj9TbNsBb4V6jy6LHFVlgdAT6Gn+u6oi/sFTY/o2gh4/ZsAAAAASUVORK5CYII=');
z-index: 5;
transform: translateY(-50%);
}

.header__separator {flex-grow: 1; }

html body .bvi.bvi-panel.bvi-fixed-top {
top: 120px !important;
}
.bvi-panel-close {margin-left: 20px;}

@media screen and (max-width: 480px) {
.bvi-open { padding-right: 0; }
.bvi-open span {display: none;}
}

.services-page .first__filter-item {
    margin-bottom: 30px;
}
.services-page .first__filter {
flex-wrap: wrap;
}

.service-head {
height: 100px !important;
}
.service {
height: unset !important;
}
.service-title {
hyphens: auto;
}

.service-caption:last-child {
margin-left: unset !important;
}
.service-caption:not(:last-child)  span {
margin-right: 52px;
}

.service-description {
display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;

}


.detailed-specialist .first .first-top {
gap: 60px !important;
}



.home .gratitude__grid {
    display: flex !important;
flex-wrap: wrap;
}
@media screen and (min-width: 720px) {
.home .gratitude__grid .review {
    width: calc(50% - 20px);
    margin-bottom: 20px;
}
}


.services-page .second__filter {
    margin-top: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2px;
}

.detailed-specialist .first .first-top__buttons {
margin-bottom: 60px;
}
.detailed-specialist  img.first-top__img {
    border-top-left-radius: 200px;
margin-bottom: 60px;
}




.ud-title {
font-size: 48px;
font-weight: 700;
color: #0d3578;
margin-bottom: 50px;
}
.ud-top {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
gap: 20px;
margin-bottom: 50px;
}
.ud-pic {
max-width: 409px;
}
.ud-pic img {
border-radius: 5px;
height: auto;
}
.ud-top-right {
max-width: calc(100% - 429px);
}
.ud-subtitle {
font-size: 24px;
line-height: 31px;
color: #114093;
margin-bottom: 30px;
}
.ud-content ul > li {
    list-style-type: disc;
    margin-left: 20px;
    margin-bottom: 3px;
}
.ud-row {
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}
.ud-section{
flex-grow: 1;
max-width: 623px;
}
.ud-blockquote {
background: #0d3578;
color: #fff;
padding: 40px;
font-size: 24px;
font-weight: 700;
margin-bottom: 50px;
}
.ud {
margin-bottom: 80px;
}


@media screen and (max-width: 780px) {

.service-page .first__text-mobile {
font-weight: unset !important;
}
.home .first__slide-img {
margin-bottom: 40px;
}

.site {
padding-top: 60px;
}

.service-description {
height: auto !important;
}

.service-head {
height: 80px !important;
}
.home .swiper {
overflow: inherit !important;
} 

.footer__contacts_row {
flex-direction: column;
}

.home .first__slide-text {
font-size: 14px !important;
}

.services-page .first__filter-item {
width: 100%;
}

.services-page .first__filter-item:first-child .first__filter-btn {
border-radius: 5px !important;
}


.services-page .first__filter-item {
margin-bottom: 10px;
}

.second__filter {
flex-wrap: wrap;
}


.ud-title {
font-size: 32px;
}
.ud-top-right {
max-width: unset;
}
.ud-row {
flex-wrap: wrap;
}
.ud-section {
max-width: unset;
margin-bottom: 50px;
}
.ud-blockquote {
margin-top: -50px;
}

}




.iframe {
width: 100%;
height: 800px;
border: none;
}



.specialists-page.detailed-specialist .first-top__right ul {
margin-left: 30px;
}
.specialists-page.detailed-specialist .first-top__right ul > li {
    list-style-type: disc;
    margin-bottom: 15px;
}

.enroll__success {
  text-align: center;
  padding: 12px 4px 4px;
}
.enroll__success-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  background: #16a34a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(22, 163, 74, .25);
  animation: enrollPop 320ms cubic-bezier(.16, 1, .3, 1);
}
@keyframes enrollPop {
  0%   { transform: scale(.5); opacity: 0; }
  60%  { transform: scale(1.06); opacity: 1; }
  100% { transform: scale(1); }
}
.enroll__success-title {
  color: #0d3578;
  font-size: 22px;
  font-weight: 700;
  font-family: "Manrope", sans-serif;
  margin: 0 0 10px;
  line-height: 1.25;
}
.enroll__success-desc {
  color: #3a3a3a;
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 8px;
}
.enroll__success-desc strong {
  color: #114093;
  font-weight: 600;
  white-space: nowrap;
}
.enroll__success-meta {
  color: #6b7280;
  font-size: 13px;
  line-height: 1.45;
  margin: 0 0 22px;
}
.enroll__success .enroll__success-close,
.enroll__success-close.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: auto;
  min-height: 48px;
  width: auto;
  padding: 12px 28px;
  margin: 6px auto 0;
  font-size: 15px;
  font-weight: 600;
  border-radius: 10px;
  border-width: 0;
  line-height: 1.2;
}
#sotrudnik-enroll .enroll__success,
#usluga-enroll .enroll__success {
  padding: 8px 4px 4px;
}
@media (max-width: 480px) {
  .enroll__success-icon { width: 60px; height: 60px; }
  .enroll__success-title { font-size: 19px; }
}


.footer__schedule {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 14px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  border-left: 3px solid #fff;
}
.footer__schedule .footer__schedule-icon,
svg.footer__schedule-icon {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  margin-top: 2px;
  color: #fff;
  opacity: .9;
  fill: none;
}
.footer__schedule-content {
  flex: 1;
  min-width: 0;
}
.footer__schedule-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.85;
  margin-bottom: 4px;
}
.footer__schedule-text {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
}
.footer__schedule-text br + * {
  display: inline;
}
@media (max-width: 480px) {
  .footer__schedule-text { font-size: 13px; }
}


.burger-contact__list { display: flex; flex-direction: column; gap: 4px; }
.burger-contact__row {
  display: flex;
  flex-direction: column;
  padding: 10px 14px;
  border-radius: 8px;
  text-decoration: none;
  color: #2d2d2d;
  transition: background 150ms ease;
  min-height: 48px;
  justify-content: center;
}
.burger-contact__row:hover { background: rgba(17, 64, 147, 0.05); }
.burger-contact__row:focus-visible { outline: 3px solid #114093; outline-offset: 2px; }
.burger-contact__row-phone { font-size: 15px; font-weight: 600; color: #0d3578; line-height: 1.3; }
.burger-contact__row-addr { font-size: 13px; color: #4a4a4a; line-height: 1.4; margin-top: 2px; }

.burger-contact__schedule {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 14px;
  background: #f4f6fb;
  border-radius: 10px;
  border-left: 3px solid #114093;
}
.burger-contact .burger-contact__schedule-icon,
svg.burger-contact__schedule-icon {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  margin-top: 3px;
  color: #114093;
  fill: none;
}
.burger-contact__schedule-text { font-size: 13px; line-height: 1.5; color: #2d2d2d; }
.burger-contact__schedule-text strong { color: #0d3578; }

.burger-contact__social {
  display: flex;
  gap: 10px;
  justify-content: flex-start;
  margin-top: 4px;
}
.burger-contact__social-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #114093;
  color: #fff;
  text-decoration: none;
  transition: background 150ms ease, transform 100ms ease;
}
.burger-contact__social-item:hover { background: #0d3578; }
.burger-contact__social-item:active { transform: scale(0.95); }
.burger-contact__social-item:focus-visible { outline: 3px solid #114093; outline-offset: 2px; }
.burger-contact__social-item svg { fill: currentColor; color: #fff; }


/* === Mobile Navigation Drawer (m-drawer) === */
.header-burger__menu.m-drawer {
  display: flex !important;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  width: min(380px, 100vw);
  height: 100dvh;
  height: 100vh;
  background: #fff;
  z-index: 9997;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(100%);
  transition: opacity 220ms ease-out, transform 260ms cubic-bezier(.16,1,.3,1), visibility 0s linear 260ms;
  box-shadow: -16px 0 40px rgba(13, 53, 120, 0);
  box-sizing: border-box;
}
.header-burger__menu.m-drawer.d-block {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
  transition: opacity 220ms ease-out, transform 260ms cubic-bezier(.16,1,.3,1), visibility 0s linear 0s;
  box-shadow: -16px 0 40px rgba(13, 53, 120, .18);
}
.header-burger__menu.m-drawer .m-drawer__panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.m-drawer__top {
  padding: 16px 16px 8px;
}
.m-drawer__region {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  background: #eef3fb;
  border: 1.5px solid transparent;
  border-radius: 10px;
  font-family: inherit;
  font-size: 14px;
  color: #0d3578;
  cursor: pointer;
  text-align: left;
  transition: background 150ms ease, border-color 150ms ease;
}
.m-drawer__region:hover { background: #e0e9f5; }
.m-drawer__region:focus-visible { outline: 3px solid #114093; outline-offset: 2px; }
.m-drawer__region .m-drawer__region-icon,
svg.m-drawer__region-icon { width: 20px !important; height: 20px !important; flex: 0 0 20px !important; color: #114093; fill: none; }
.m-drawer__region-label { color: #4a4a4a; font-weight: 500; }
.m-drawer__region-value { color: #0d3578; font-weight: 700; flex: 1; }
.m-drawer__region .m-drawer__region-chev,
svg.m-drawer__region-chev { width: 16px !important; height: 16px !important; flex: 0 0 16px !important; color: #114093; fill: none; opacity: .7; }

.header-burger__menu.m-drawer .m-drawer__nav {
  display: flex;
  flex-direction: column;
  padding: 8px 8px 16px;
  gap: 2px;
  background: transparent;
}
.header-burger__menu.m-drawer .m-drawer__nav-link {
  margin: 0;
  padding: 0;
  display: block;
  border-radius: 10px;
}
.header-burger__menu.m-drawer .m-drawer__nav-link a.m-drawer__nav-item,
.header-burger__menu.m-drawer .m-drawer__nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 10px 14px;
  font-size: 15px;
  font-weight: 500;
  color: #1a1a1a;
  text-decoration: none;
  background: transparent;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  font-family: inherit;
  width: 100%;
  text-align: left;
  transition: background 150ms ease, color 150ms ease;
}
.header-burger__menu.m-drawer .m-drawer__nav-item:hover { background: rgba(17, 64, 147, .06); }
.header-burger__menu.m-drawer .m-drawer__nav-item:focus-visible { outline: 3px solid #114093; outline-offset: 2px; }
.header-burger__menu.m-drawer .m-drawer__nav-link--active .m-drawer__nav-item {
  background: rgba(17, 64, 147, .12);
  color: #0d3578;
  font-weight: 600;
  position: relative;
}
.header-burger__menu.m-drawer .m-drawer__nav-link--active .m-drawer__nav-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 3px;
  background: #114093;
  border-radius: 3px;
}
.header-burger__menu.m-drawer .m-drawer__nav-link--active .m-drawer__nav-icon { color: #114093; }
.header-burger__menu.m-drawer .m-drawer__nav-icon,
svg.m-drawer__nav-icon { width: 22px !important; height: 22px !important; flex: 0 0 22px !important; color: #4a5a78; fill: none; }
.m-drawer__nav-label { flex: 1; line-height: 1.3; }
.header-burger__menu.m-drawer .m-drawer__nav-chev,
svg.m-drawer__nav-chev { width: 18px !important; height: 18px !important; flex: 0 0 18px !important; color: #9aa6bd; fill: none; opacity: .8; }

.m-drawer__section {
  padding: 12px 16px 16px;
  border-top: 1px solid #eef0f4;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.m-drawer__section-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #6b7280;
  margin: 6px 0 4px;
  padding: 0;
}
.m-drawer__phone-main {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: #114093;
  border-radius: 12px;
  text-decoration: none;
  color: #fff;
  transition: background 150ms ease, transform 100ms ease;
}
.m-drawer__phone-main:hover { background: #0d3578; }
.m-drawer__phone-main:active { transform: scale(.98); }
.m-drawer__phone-main:focus-visible { outline: 3px solid #114093; outline-offset: 2px; }
.m-drawer__phone-icon-wrap {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  background: rgba(255, 255, 255, .15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.m-drawer__phone-main .m-drawer__phone-icon,
svg.m-drawer__phone-icon { width: 20px !important; height: 20px !important; flex: 0 0 20px !important; color: #fff; fill: none; }
.m-drawer__phone-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.m-drawer__phone-num { font-size: 17px; font-weight: 700; line-height: 1.2; }
.m-drawer__phone-sub { font-size: 11px; opacity: .85; line-height: 1.3; }

.m-drawer__branches {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.m-drawer__branch {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  text-decoration: none;
  color: #1a1a1a;
  transition: background 150ms ease;
}
.m-drawer__branch:hover { background: rgba(17, 64, 147, .06); }
.m-drawer__branch:focus-visible { outline: 3px solid #114093; outline-offset: 2px; }
.m-drawer__branch .m-drawer__branch-icon,
svg.m-drawer__branch-icon { width: 18px !important; height: 18px !important; flex: 0 0 18px !important; margin-top: 2px; color: #114093; fill: none; }
.m-drawer__branch-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.m-drawer__branch-addr { font-size: 13px; color: #4a4a4a; line-height: 1.4; }
.m-drawer__branch-phone { font-size: 15px; font-weight: 600; color: #0d3578; line-height: 1.3; }

.m-drawer__schedule {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  background: #f4f6fb;
  border-radius: 10px;
}
.m-drawer__schedule-icon-wrap {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  background: #fff;
  border: 1px solid #d4ddea;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #114093;
}
.m-drawer__schedule .m-drawer__schedule-icon,
svg.m-drawer__schedule-icon { width: 16px !important; height: 16px !important; flex: 0 0 16px !important; color: #114093; fill: none; margin: 0; }
.m-drawer__schedule-body { flex: 1; min-width: 0; }
.m-drawer__schedule-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #6b7280;
  margin-bottom: 4px;
}
.m-drawer__schedule-text { font-size: 13px; line-height: 1.55; color: #1a1a1a; }

.m-drawer__socials {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}
.m-drawer__social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f4f6fb;
  color: #114093;
  text-decoration: none;
  transition: background 150ms ease, transform 100ms ease, color 150ms ease;
}
.m-drawer__social:hover { background: #114093; color: #fff; }
.m-drawer__social:active { transform: scale(.95); }
.m-drawer__social:focus-visible { outline: 3px solid #114093; outline-offset: 2px; }
.m-drawer__social svg { fill: currentColor; color: inherit; }

.m-drawer__cta {
  position: sticky;
  bottom: 0;
  margin-top: auto;
  padding: 12px 16px max(12px, env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-top: 1px solid #eef0f4;
}
.header-burger__menu.m-drawer .m-drawer__cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  background: #114093;
  color: #fff;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  letter-spacing: .01em;
  transition: background 150ms ease, transform 100ms ease;
  box-shadow: 0 6px 14px rgba(17, 64, 147, .25);
}
.header-burger__menu.m-drawer .m-drawer__cta-btn:hover { background: #0d3578; }
.header-burger__menu.m-drawer .m-drawer__cta-btn:active { transform: scale(.98); }
.header-burger__menu.m-drawer .m-drawer__cta-btn:focus-visible { outline: 3px solid #fff; outline-offset: -4px; box-shadow: 0 0 0 6px rgba(17, 64, 147, .4); }

@media (max-width: 380px) {
  .m-drawer__phone-num { font-size: 16px; }
  .header-burger__menu.m-drawer .m-drawer__nav-item { font-size: 14px; min-height: 48px; }
}
@media (min-width: 1024px) {
  .header-burger__menu.m-drawer { display: none !important; }
}


/* === Mobile header__top — hide duplicate city, keep BVI prominent (ГОСТ Р 52872 compliance) === */
@media (max-width: 1023px) {
  .header__top .header__location { display: none !important; }
  .header__top {
    padding: 8px 16px !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    min-height: 48px;
  }
  .header__top .container {
    display: flex;
    width: 100%;
    justify-content: flex-end;
    align-items: center;
    padding: 0;
  }
  .header__top .header__vision { display: flex; align-items: center; margin: 0; }
  .header__top .header__vision .bvi-open {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 6px 14px 6px 40px !important;
    background: #fff !important;
    color: #0d3578 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 999px;
    border: 1.5px solid rgba(17, 64, 147, .18);
    margin: 0 !important;
    box-shadow: 0 1px 3px rgba(17, 64, 147, .08);
    transition: background 150ms ease, border-color 150ms ease;
  }
  .header__top .header__vision .bvi-open:hover { background: #f4f6fb !important; border-color: #114093; }
  .header__top .header__vision .bvi-open:focus-visible { outline: 3px solid #114093; outline-offset: 2px; }
  .header__top .header__vision .bvi-open span { display: inline !important; line-height: 1.2; }
}

/* === BVI tool row inside drawer === */
.m-drawer__tools {
  padding: 4px 16px 12px;
}
.m-drawer__tool {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  background: #f4f6fb;
  border-radius: 10px;
  text-decoration: none;
  color: #0d3578;
  font-size: 14px;
  font-weight: 500;
  transition: background 150ms ease, color 150ms ease;
  border: none;
  font-family: inherit;
  cursor: pointer;
}
.m-drawer__tool:hover { background: #e0e9f5; color: #0d3578; }
.m-drawer__tool:focus-visible { outline: 3px solid #114093; outline-offset: 2px; }
.m-drawer__tool .m-drawer__tool-icon,
svg.m-drawer__tool-icon { width: 20px !important; height: 20px !important; flex: 0 0 20px !important; color: #114093; fill: none; }
.m-drawer__tool .m-drawer__tool-label, .m-drawer .bvi-open .m-drawer__tool-label { display: inline-block !important; flex: 1; line-height: 1.3; }


/* Override legacy .bvi-open styling when used inside drawer */
.m-drawer .bvi-open.m-drawer__tool {
  padding: 12px 14px;
  margin: 0;
  background: #f4f6fb;
}
.m-drawer .bvi-open.m-drawer__tool:after {
  display: none !important;
}


/* === Inline booking form on specialist/service detail pages: home-style 2-column layout === */
#sotrudnik-enroll,
#usluga-enroll {
  padding: 60px 0 80px;
}
#sotrudnik-enroll .container,
#usluga-enroll .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
#sotrudnik-enroll .enroll__img,
#usluga-enroll .enroll__img {
  width: 480px;
  max-width: 50%;
  height: auto;
  object-fit: contain;
}
#sotrudnik-enroll .enroll__form,
#usluga-enroll .enroll__form {
  flex: 1;
  max-width: 480px;
  margin: 0;
}
@media (min-width: 1000px) and (max-width: 1439px) {
  #sotrudnik-enroll .enroll__img,
  #usluga-enroll .enroll__img { width: 420px; }
}
@media (min-width: 768px) and (max-width: 999px) {
  #sotrudnik-enroll .container,
  #usluga-enroll .container { flex-direction: column; gap: 24px; }
  #sotrudnik-enroll .enroll__img,
  #usluga-enroll .enroll__img { max-width: 320px; }
  #sotrudnik-enroll .enroll__form,
  #usluga-enroll .enroll__form { width: 100%; }
}
@media (max-width: 767px) {
  #sotrudnik-enroll,
  #usluga-enroll { padding: 32px 0 48px; }
  #sotrudnik-enroll .container,
  #usluga-enroll .container { flex-direction: column; gap: 20px; padding: 0 16px; }
  #sotrudnik-enroll .enroll__img,
  #usluga-enroll .enroll__img { max-width: 260px; }
}

/* Cookie consent banner — 152-ФЗ informational notice */
.cookie-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: #1f2937;
  color: #f9fafb;
  box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.18);
  padding: 14px 16px;
  font-size: 14px;
  line-height: 1.4;
}
.cookie-banner[hidden] { display: none; }
.cookie-banner__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.cookie-banner__text { margin: 0; flex: 1 1 320px; }
.cookie-banner__link { color: #93c5fd; text-decoration: underline; }
.cookie-banner__link:hover,
.cookie-banner__link:focus { color: #bfdbfe; }
.cookie-banner__accept {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 10px 22px;
  font-size: 14px;
  cursor: pointer;
}
@media (max-width: 600px) {
  .cookie-banner { padding: 12px; font-size: 13px; }
  .cookie-banner__inner { gap: 10px; }
  .cookie-banner__accept { width: 100%; min-height: 44px; }
}

/* Respect users who request reduced motion (WCAG 2.3.3) */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* End */
/* /local/templates/krugozor/template_styles.css?177857647928865 */
