/* UroMed site CSS — вынесен из чанка Footer 05.10.2026 01:31 (extract #1) */


#urochat-actions{position:fixed;bottom:20px;right:20px;z-index:99999;display:flex;flex-direction:row;gap:10px;align-items:center}

#urochat-btn,#urochat-call{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,0.3);transition:transform 0.2s;border:none;text-decoration:none}

#urochat-btn{background:#016cb4;color:white}

#urochat-btn:hover{transform:scale(1.1)}

#urochat-call{background:#2e7d32;color:white}

#urochat-call:hover{transform:scale(1.1)}

#urochat-box{position:fixed;bottom:150px;right:20px;z-index:99999;width:350px;max-width:calc(100vw-40px);background:white;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,0.2);font-family:-apple-system,system-ui,sans-serif;overflow:hidden}

#urochat-hdr{background:#016cb4;color:white;padding:14px 16px;font-size:15px;font-weight:600;display:flex;justify-content:space-between;align-items:center}

#urochat-msgs{padding:12px;height:300px;overflow-y:auto;background:#f8f9fa}

.urochat-msg{max-width:85%;padding:10px 14px;border-radius:12px;margin-bottom:8px;font-size:14px;line-height:1.4}

.urochat-msg.bot{background:white;border:1px solid #e0e0e0;border-bottom-left-radius:4px;color:#333}

.urochat-msg.user{background:#e8f5e9;color:#1b5e20;border-bottom-right-radius:4px;margin-left:auto;border-bottom:2px solid #a5d6a7}

#urochat-input{display:flex;padding:8px;border-top:1px solid #e0e0e0;background:white}
.urochat-agree{padding:2px 12px 8px;background:white;font-size:10.5px;line-height:1.4;color:#9ca3af;text-align:center}
.urochat-agree a{color:#016cb4;text-decoration:none}
.urochat-agree a:hover{text-decoration:underline}

#urochat-input input{flex:1;border:1px solid #ddd;border-radius:20px;padding:8px 14px;font-size:14px;outline:none}

#urochat-input button{background:#016cb4;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin-left:6px;cursor:pointer}

@media (max-width:768px){
#urochat-box{bottom:110px}
#urochat-msgs{height:36vh;max-height:280px}
#urochat-input{padding:6px}
#urochat-input input{min-width:0;height:34px;padding:6px 12px;font-size:13px;box-sizing:border-box}
#urochat-input button{min-height:0;display:flex;flex:0 0 auto;width:34px;height:34px;margin-left:4px}
#urochat-input button svg{width:16px;height:16px}
.urochat-agree{font-size:10px;padding:2px 8px 6px}
}



/* ======================================== */

/* ================================================================ */

/* ШАПКА */

.site-header {

  background: #fff !important;

  border-bottom: 1px solid #e8ecf1 !important;

  position: relative !important;

}



/* Верхняя строка */

.header-top {

  background: #fff !important;

  padding: 16px 0 !important;

}

.header-inner {

  max-width: 1200px !important;

  margin: 0 auto !important;

  padding: 0 20px !important;

  display: flex !important;

  align-items: center !important;

  justify-content: space-between !important;

  gap: 20px !important;

}



/* Логотип */

.header-logo { flex-shrink: 0 !important; }

.header-logo-img {

  border-radius: 8px !important;

  object-fit: contain !important;

  flex-shrink: 0 !important;

}

.header-logo a {

  display: flex !important;

  align-items: center !important;

  gap: 12px !important;

  text-decoration: none !important;

}

.logo-text-wrap {

  display: flex !important;

  flex-direction: column !important;

  line-height: 1.2 !important;

}

.logo-text {

  font-size: 26px !important;

  font-weight: 700 !important;

  color: #1a1a2e !important;

}

.logo-desc {

  font-size: 13px !important;

  font-weight: 400 !important;

  color: #888 !important;

  letter-spacing: 0.3px !important;

}

.logo-text {

  font-size: 26px !important;

  font-weight: 700 !important;

  color: #1a1a2e !important;

}



/* Середина: часы + адрес */

.header-middle {

  display: flex !important;

  flex-direction: column !important;

  gap: 4px !important;

}

.header-item {

  display: flex !important;

  align-items: center !important;

  gap: 6px !important;

  font-size: 14px !important;

  color: #555 !important;

  line-height: 1.4 !important;

}

.header-item a {

  color: #555 !important;

  text-decoration: none !important;

}

.header-item a:hover { color: #016CB4 !important; }

.header-item svg { flex-shrink: 0 !important; }



/* Телефоны */

.header-phones {

  display: flex !important;

  flex-direction: column !important;

  align-items: flex-end !important;

  gap: 2px !important;

  flex-shrink: 0 !important;

}

.phone-main {

  font-size: 24px !important;

  font-weight: 700 !important;

  color: #016CB4 !important;

  text-decoration: none !important;

  line-height: 1.2 !important;

}

.phone-main:hover { color: #015a9c !important; }

.phone-sec {

  font-size: 17px !important;

  font-weight: 500 !important;

  color: #888 !important;

  text-decoration: none !important;

  line-height: 1.2 !important;

}

.phone-sec:hover { color: #016CB4 !important; }



/* Гамбургер */

.hamburger { display: none !important; }



/* Навигация */

.header-nav {

  background: #f8f9fa !important;

  border-top: 1px solid #e8ecf1 !important;

}

.nav-menu {

  list-style: none !important;

  margin: 0 !important;

  padding: 0 !important;

  display: flex !important;

  gap: 0 !important;

}

.nav-menu > li { position: relative !important; }

.nav-menu > li > a {

  display: block !important;

  padding: 14px 22px !important;

  font-size: 15px !important;

  font-weight: 500 !important;

  color: #333 !important;

  text-decoration: none !important;

  transition: color 0.2s, background 0.2s !important;

}

.nav-menu > li > a:hover,

.nav-menu > li.active > a {

  color: #016CB4 !important;

  background: rgba(1,108,180,0.06) !important;

}



/* Выпадающее меню */

.has-sub .submenu {

  display: none !important;

  position: absolute !important;

  top: 100% !important;

  left: 0 !important;

  z-index: 200 !important;

  background: #fff !important;

  border: 1px solid #e8ecf1 !important;

  border-radius: 0 0 12px 12px !important;

  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;

  padding: 16px !important;

  min-width: 600px !important;

}

.has-sub:hover .submenu { display: flex !important; }

.submenu-inner {

  display: flex !important;

  gap: 24px !important;

}

.submenu-inner ul {

  list-style: none !important;

  margin: 0 !important;

  padding: 0 !important;

  min-width: 130px !important;

}

.submenu-inner li a {

  display: block !important;

  padding: 4px 0 !important;

  font-size: 13px !important;

  color: #555 !important;

  text-decoration: none !important;

  transition: color 0.2s !important;

}

.submenu-inner li a:hover { color: #016CB4 !important; }



/* Мобильное меню */

.mobile-menu-overlay {

  display: none !important;

  position: fixed !important;

  top: 0 !important;

  left: 0 !important;

  width: 100% !important;

  height: 100% !important;

  background: rgba(0,0,0,0.5) !important;

  z-index: 999 !important;

}

.mobile-menu-overlay.active { display: block !important; }

.mobile-menu-container {

  display: none !important;

  position: fixed !important;

  top: 0 !important;

  right: -280px !important;

  width: 280px !important;

  height: 100% !important;

  background: #fff !important;

  z-index: 1000 !important;

  transition: right 0.3s !important;

  box-shadow: -4px 0 20px rgba(0,0,0,0.1) !important;

}

.mobile-menu-container.active { display: block !important; right: 0 !important; }

.mobile-menu-content { padding: 20px !important; }

.mobile-menu-content ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }

.mobile-menu-content ul li a {

  display: block !important;

  padding: 6px 0 !important;

  font-size: 13px !important;

  color: #333 !important;

  text-decoration: none !important;

  border-bottom: 1px solid #f0f0f0 !important;

}

.mobile-menu-content ul li a:hover { color: #016CB4 !important; }

.mobile-menu-content .mobile-sub { display: none !important; }

.mobile-menu-content .mobile-sub.open { display: block !important; }

.mobile-menu-content .back-link { color: #016CB4 !important; font-weight: 500 !important; }

.mobile-menu-content .parent-link { color: #016CB4 !important; font-weight: 600 !important; }





/* ================================================================ */

/* 4. АДАПТИВ — ПЛАНШЕТЫ                                            */

/* ================================================================ */

@media (max-width: 992px) {

  .header-info {

    max-width: 320px;

  }



  .header-menu > li > a {

    padding: 0 18px;

    font-size: 14px;

  }



  .header-hours,

  .header-address {

    font-size: 13px;

  }



  .header-phone {

    font-size: 14px;

  }

}



/* ================================================================ */

/* 5. АДАПТИВ — МОБИЛЬНЫЕ (≤768px)                                   */

/* ================================================================ */

@media (max-width: 768px) {

  .header-container {

    flex-wrap: wrap;

    padding: 8px 12px;

    min-height: auto;

    gap: 0;

  }



  .header-logo {

    order: 0;

    flex: 1 1 auto;

  }



  .header-logo img {

    max-height: 50px;

  }



  .header-hamburger {

    display: flex;

    order: 1;

  }

  

  .header-hamburger.active span:nth-child(1) {

    transform: rotate(45deg) translate(5px, 6px);

  }

  .header-hamburger.active span:nth-child(2) {

    opacity: 0;

  }

  .header-hamburger.active span:nth-child(3) {

    transform: rotate(-45deg) translate(5px, -6px);

  }



  .header-info {

    order: 2;

    flex: 0 0 100%;

    max-width: 100%;

    padding: 4px 0 2px;

    gap: 2px;

  }



  .header-hours,

  .header-address {

    font-size: 12px;

    justify-content: center;

    text-align: center;

  }



  .header-hours svg,

  .header-address svg {

    display: none;

  }



  .header-contacts {

    order: 3;

    flex: 0 0 100%;

    flex-direction: row;

    align-items: center;

    justify-content: center;

    gap: 6px;

    padding: 2px 0 4px;

    flex-wrap: wrap;

  }



  .header-phones {

    flex-direction: row;

    gap: 8px;

  }



  .header-phone {

    font-size: 13px;

  }



  .header-phone svg {

    display: none;

  }



  .header-nav {

    display: none;

  }



  .ht-bar {

    border-bottom: 1px solid #e0e0e0;

  }

  

  body.menu-open {

    overflow: hidden;

  }



  a, button, .knopa, .zapis-fu, .menu li a {

    min-height: 20px;

  }

}



/* ================================================================ */

/* 5b. АДАПТИВ — МАЛЕНЬКИЕ ТЕЛЕФОНЫ (≤576px)                         */

/* ================================================================ */

@media (max-width: 576px) {

  .header-container {

    padding: 6px 10px;

  }



  .header-logo img {

    max-height: 44px;

  }



  .header-hours,

  .header-address {

    font-size: 11px;

    gap: 4px;

  }



  .header-phones {

    gap: 6px;

  }



  .header-phone {

    font-size: 12px;

  }

  

  .mobile-menu-container,

  .mobile-menu-container.active {

    width: 280px !important;

  }

  .mobile-menu-content .mobile-sub,

  .mobile-menu-content .mobile-sub.open {

    width: 280px !important;

  }

}



/* ================================================================ */

/* 6. ОЧЕНЬ МАЛЕНЬКИЕ (≤400px)                                       */

/* ================================================================ */

@media (max-width: 400px) {

  .header-logo img {

    max-height: 45px;

  }



  .header-hours,

  .header-address {

    font-size: 11px;

  }



  .header-phone {

    font-size: 12px;

  }



  .header-phones {

    flex-wrap: wrap;

    justify-content: center;

  }

}  left: 0;

}



.mobile-menu-content .back-link {

  background: #F15A24 url(../img/arrow_left.svg) 24px center no-repeat;

  background-size: 18px;

  padding-left: 50px !important;

  font-weight: 500;

}



.mobile-menu-content .parent-link {

  background: url(../img/arrow_right.svg) right 20px center no-repeat;

  background-size: 18px;

}



/* ================================================================ */

/* 4. АДАПТИВ — ПЛАНШЕТЫ                                            */

/* ================================================================ */

@media (max-width: 992px) {

  .header-info {

    max-width: 320px;

  }



  .header-menu > li > a {

    padding: 0 18px;

    font-size: 14px;

  }



  .header-hours,

  .header-address {

    font-size: 13px;

  }



  .header-phone {

    font-size: 14px;

  }

}



/* ================================================================ */

/* 5. АДАПТИВ — МОБИЛЬНЫЕ (<=768px)                                   */

/* ================================================================ */

@media (max-width: 768px) {

  .header-container {

    flex-wrap: wrap;

    padding: 8px 12px;

    min-height: auto;

    gap: 0;

  }



  /* Логотип + гамбургер в первой строке */

  .header-logo {

    order: 0;

    flex: 1 1 auto;

  }



  .header-logo img {

    max-height: 50px;

  }



  .header-hamburger {

    display: flex;

    order: 1;

  }

  

  .header-hamburger.active span:nth-child(1) {

    transform: rotate(45deg) translate(5px, 6px);

  }

  .header-hamburger.active span:nth-child(2) {

    opacity: 0;

  }

  .header-hamburger.active span:nth-child(3) {

    transform: rotate(-45deg) translate(5px, -6px);

  }



  /* Информация (часы + адрес) — вторая строка */

  .header-info {

    order: 2;

    flex: 0 0 100%;

    max-width: 100%;

    padding: 4px 0 2px;

    gap: 2px;

  }



  .header-hours,

  .header-address {

    font-size: 12px;

    justify-content: center;

    text-align: center;

  }



  .header-hours svg,

  .header-address svg {

    display: none;

  }



  /* Контакты (телефоны + кнопка) — третья строка */

  .header-contacts {

    order: 3;

    flex: 0 0 100%;

    flex-direction: row;

    align-items: center;

    justify-content: center;

    gap: 6px;

    padding: 2px 0 4px;

    flex-wrap: wrap;

  }



  .header-phones {

    flex-direction: row;

    gap: 8px;

  }



  .header-phone {

    font-size: 13px;

  }



  .header-phone svg {

    display: none;

  }



  .header-btn {

    font-size: 12px;

    padding: 5px 14px;

  }



  /* Навигация — скрыта на мобильных */

  .header-nav {

    display: none;

  }



  .ht-bar {

    border-bottom: 1px solid #e0e0e0;

  }

  

  body.menu-open {

    overflow: hidden;

  }



  a, button, .knopa, .zapis-fu, .menu li a {

    min-height: 20px;

  }

}



/* ================================================================ */

/* 6. АДАПТИВ — ОЧЕНЬ МАЛЕНЬКИЕ (<=400px)                             */

/* ================================================================ */

@media (max-width: 400px) {

  .header-logo img {

    max-height: 45px;

  }



  .header-hours,

  .header-address {

    font-size: 11px;

  }



  .header-phone {

    font-size: 12px;

  }



  .header-btn {

    font-size: 11px;

    padding: 4px 12px;

  }



  .header-phones {

    flex-wrap: wrap;

    justify-content: center;

  }

}

/* === ARTICLE + LISTING STYLES === */



/* Article page — no extra padding beyond Bootstrap grid */

.stati-page .col-12.col-lg-9 {

  padding-left: 16px !important;

  padding-right: 16px !important;

}



/* Typography */

.stati-page .col-12.col-lg-9 h1 { font-size: 32px !important; line-height: 1.3 !important; color: #1a1a2e !important; margin-bottom: 24px !important; font-weight: 700 !important; }

.stati-page .col-12.col-lg-9 h2 { font-size: 24px !important; line-height: 1.35 !important; color: #1a1a2e !important; margin: 40px 0 16px !important; font-weight: 700 !important; padding-bottom: 8px !important; border-bottom: 2px solid #eee !important; }

.stati-page .col-12.col-lg-9 h3 { font-size: 20px !important; line-height: 1.4 !important; color: #2d2d44 !important; margin: 28px 0 12px !important; font-weight: 600 !important; }

.stati-page .col-12.col-lg-9 p { font-size: 17px !important; line-height: 1.7 !important; color: #333 !important; margin-bottom: 16px !important; }

.stati-page .col-12.col-lg-9 ul,

.stati-page .col-12.col-lg-9 ol { font-size: 17px !important; line-height: 1.7 !important; color: #333 !important; padding-left: 24px !important; margin-bottom: 20px !important; }

.stati-page .col-12.col-lg-9 li { margin-bottom: 8px !important; }



/* Images */

.stati-page .col-12.col-lg-9 img {

  border-radius: 12px !important;

  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;

  margin: 24px 0 !important;

  display: block !important;

  width: 100% !important;

  height: auto !important;

}



/* Answer-the-Prompt */

.stati-page .col-12.col-lg-9 p.answer-box,

.stati-page .col-12.col-lg-9 p:has(> strong:first-child) {

  background: #f5f9ff !important;

  border-left: 4px solid #016cb4 !important;

  border-radius: 0 12px 12px 0 !important;

  padding: 16px 20px !important;

  margin: 24px 0 !important;

  font-size: 16px !important;

  line-height: 1.6 !important;

}



/* Listing — cards */

.stati-page .kstati {

  background: #fff !important;

  border: 1px solid #e8ecf1 !important;

  border-radius: 16px !important;

  padding: 24px !important;

  margin-bottom: 20px !important;

  transition: all 0.2s ease !important;

  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;

  word-wrap: break-word !important;

  overflow-wrap: break-word !important;

  box-sizing: border-box !important;

}

.stati-page .kstati:hover {

  border-color: #016cb4 !important;

  box-shadow: 0 8px 24px rgba(1,108,180,0.1) !important;

  transform: translateY(-2px) !important;

}

.stati-page .kstati .vka { margin: 0 0 8px 0 !important; padding: 0 !important; font-weight: 600 !important; }

.stati-page .kstati .vka a { font-size: 20px !important; color: #1a1a2e !important; text-decoration: none !important; }

.stati-page .kstati .vka a:hover { color: #016cb4 !important; }

.stati-page .kstati > p { font-size: 15px !important; line-height: 1.6 !important; color: #555 !important; margin: 8px 0 12px !important; border: none !important; background: none !important; padding: 0 !important; width: auto !important; max-width: 100% !important; overflow: visible !important; }



/* "Читать далее" — clean link */

.stati-page .kstati .chitat {

  margin: 0 !important;

  padding: 0 !important;

  border: none !important;

}

.stati-page .kstati .chitat a {

  display: inline-block !important;

  color: #016cb4 !important;

  font-size: 15px !important;

  font-weight: 500 !important;

  text-decoration: underline !important;

  text-underline-offset: 3px !important;

  border: none !important;

  background: none !important;

  padding: 0 !important;

  box-shadow: none !important;

  max-width: 100% !important;

  overflow-wrap: break-word !important;

  word-wrap: break-word !important;

}

.stati-page .kstati .chitat a:hover { color: #015a9c !important; text-decoration: none !important; }



.stati-page .col-12.col-lg-9 p em { color: #666 !important; font-size: 14px !important; }



@media (max-width: 768px) {

  .stati-page .col-12.col-lg-9 { padding: 0 8px !important; }

  .stati-page .col-12.col-lg-9 h1 { font-size: 26px !important; }

  .stati-page .col-12.col-lg-9 h2 { font-size: 21px !important; }

  .stati-page .col-12.col-lg-9 h3 { font-size: 18px !important; }

  .stati-page .col-12.col-lg-9 p,

  .stati-page .col-12.col-lg-9 ul { font-size: 16px !important; }

  .stati-page .kstati { padding: 16px !important; }

  .stati-page .kstati .vka a { font-size: 18px !important; }

}

@media (max-width: 576px) {

  .stati-page .col-12.col-lg-9 { padding: 0 6px !important; }

  .stati-page .col-12.col-lg-9 h1 { font-size: 22px !important; }

  .stati-page .col-12.col-lg-9 h2 { font-size: 19px !important; }

  .stati-page .col-12.col-lg-9 p,

  .stati-page .col-12.col-lg-9 ul { font-size: 15px !important; }

  .stati-page .kstati { padding: 12px !important; }

}





/* === HOME PAGE ARTICLES === */

.home-articles-section {

  max-width: 1200px !important;

  margin: 0 auto !important;

  padding: 0 16px !important;

}

.home-articles-grid {

  display: grid !important;

  grid-template-columns: 1fr 1fr 1fr 1fr !important;

  gap: 16px !important;

  margin-bottom: 40px !important;

}

.home-article-card {

  display: flex !important;

  flex-direction: column !important;

  border: 1px solid #e8ecf1 !important;

  border-radius: 12px !important;

  overflow: hidden !important;

  text-decoration: none !important;

  transition: all 0.2s !important;

  background: #fff !important;

}

.home-article-card:hover {

  border-color: #016cb4 !important;

  box-shadow: 0 8px 24px rgba(1,108,180,0.1) !important;

  transform: translateY(-2px) !important;

}

.home-article-img {

  width: 100% !important;

  height: 140px !important;

  overflow: hidden !important;

  background: #f5f5f5 !important;

}

.home-article-img img {

  width: 100% !important;

  height: 100% !important;

  object-fit: cover !important;

}

.home-article-body {

  padding: 12px 14px !important;

  flex: 1 !important;

  display: flex !important;

  flex-direction: column !important;

}

.home-article-title {

  font-size: 14px !important;

  font-weight: 600 !important;

  color: #1a1a2e !important;

  line-height: 1.3 !important;

  margin-bottom: 6px !important;

  display: -webkit-box !important;

  -webkit-line-clamp: 2 !important;

  -webkit-box-orient: vertical !important;

  overflow: hidden !important;

}

.home-article-text {

  font-size: 12px !important;

  color: #666 !important;

  line-height: 1.4 !important;

  display: -webkit-box !important;

  -webkit-line-clamp: 2 !important;

  -webkit-box-orient: vertical !important;

  overflow: hidden !important;

}

@media (max-width: 992px) {

  .home-articles-grid { grid-template-columns: 1fr 1fr !important; }

}

@media (max-width: 576px) {

  .home-articles-grid { grid-template-columns: 1fr !important; }

  .home-article-img { height: 180px !important; }

}

/* === END HOME ARTICLES === */



/* === ADVANTAGES === */

.advantages-grid {

  display: grid !important;

  grid-template-columns: 1fr 1fr 1fr 1fr !important;

  gap: 20px !important;

  margin: 30px 0 40px !important;

}

.advantage-card {

  background: #fff !important;

  border: 1px solid #e8ecf1 !important;

  border-radius: 16px !important;

  padding: 28px 20px !important;

  text-align: center !important;

  transition: all 0.25s ease !important;

}

.advantage-card:hover {

  border-color: #016cb4 !important;

  box-shadow: 0 8px 24px rgba(1,108,180,0.1) !important;

  transform: translateY(-3px) !important;

}

.adv-icon {

  margin-bottom: 16px !important;

  display: inline-block !important;

}

.adv-icon svg {

  display: block !important;

}

.adv-title {

  font-size: 17px !important;

  font-weight: 700 !important;

  color: #1a1a2e !important;

  margin: 0 0 8px !important;

  line-height: 1.3 !important;

}

.adv-text {

  font-size: 14px !important;

  line-height: 1.5 !important;

  color: #666 !important;

  margin: 0 !important;

}

@media (max-width: 992px) {

  .advantages-grid { grid-template-columns: 1fr 1fr !important; gap: 16px !important; }

  .advantage-card { padding: 24px 16px !important; }

}

@media (max-width: 576px) {

  .advantages-grid { grid-template-columns: 1fr !important; gap: 12px !important; }

  .advantage-card { padding: 20px !important; }

  .adv-title { font-size: 16px !important; }

  .adv-text { font-size: 13px !important; }

}

/* === END ADVANTAGES === *//* === END === */







/* === ПОЛНАЯ ТИПОГРАФИЧЕСКАЯ СИСТЕМА === */

/* Десктоп (≥992px) */

.col-12 h1 {

  font-size: 32px !important;

  margin-top: 30px !important;

  margin-bottom: 24px !important;

  line-height: 1.25 !important;

  font-weight: 700 !important;

  color: #1a1a2e !important;

}

.col-12 h2,

h2.entry-title {

  font-size: 24px !important;

  margin-top: 28px !important;

  margin-bottom: 16px !important;

  line-height: 1.3 !important;

  font-weight: 700 !important;

  color: #1a1a2e !important;

}

.col-12 h3 {

  font-size: 20px !important;

  margin-top: 24px !important;

  margin-bottom: 12px !important;

  line-height: 1.35 !important;

  font-weight: 600 !important;

  color: #2d2d44 !important;

}

h4,

.col-12 h4 {

  font-size: 18px !important;

  margin-top: 20px !important;

  margin-bottom: 10px !important;

  line-height: 1.4 !important;

  font-weight: 600 !important;

  color: #333 !important;

}

.col-12 p,

.col-12 ul,

.col-12 ol {

  font-size: 16px !important;

  line-height: 1.65 !important;

  color: #444 !important;

  margin-bottom: 16px !important;

}



/* Планшеты (768-991px) */

@media (max-width: 991px) {

  .col-12 h1 { font-size: 28px !important; margin-top: 24px !important; margin-bottom: 18px !important; }

  .col-12 h2, h2.entry-title { font-size: 22px !important; margin-top: 22px !important; margin-bottom: 14px !important; }

  .col-12 h3 { font-size: 18px !important; margin-top: 20px !important; margin-bottom: 10px !important; }

  h4, .col-12 h4 { font-size: 16px !important; margin-top: 18px !important; margin-bottom: 8px !important; }

  .col-12 p, .col-12 ul, .col-12 ol { font-size: 15px !important; margin-bottom: 14px !important; }

}



/* Мобильные (≤768px) */

@media (max-width: 768px) {

  .col-12 h1 { font-size: 24px !important; margin-top: 16px !important; margin-bottom: 12px !important; line-height: 1.2 !important; }

  .col-12 h2, h2.entry-title { font-size: 20px !important; margin-top: 18px !important; margin-bottom: 10px !important; line-height: 1.25 !important; }

  .col-12 h3 { font-size: 17px !important; margin-top: 16px !important; margin-bottom: 8px !important; }

  h4, .col-12 h4 { font-size: 15px !important; margin-top: 14px !important; margin-bottom: 6px !important; }

  .col-12 p, .col-12 ul, .col-12 ol { font-size: 14px !important; line-height: 1.6 !important; margin-bottom: 12px !important; }

}



/* Маленькие (≤576px) */

@media (max-width: 576px) {

  .col-12 h1 { font-size: 22px !important; margin-top: 12px !important; margin-bottom: 8px !important; }

  .col-12 h2, h2.entry-title { font-size: 18px !important; margin-top: 14px !important; margin-bottom: 8px !important; }

  .col-12 h3 { font-size: 16px !important; margin-top: 12px !important; margin-bottom: 6px !important; }

  h4, .col-12 h4 { font-size: 14px !important; margin-top: 10px !important; margin-bottom: 4px !important; }

  .col-12 p, .col-12 ul, .col-12 ol { font-size: 14px !important; margin-bottom: 10px !important; }

}



/* Очень маленькие (≤400px) */

@media (max-width: 400px) {

  .col-12 h1 { font-size: 20px !important; margin-top: 8px !important; margin-bottom: 6px !important; }

  .col-12 h2, h2.entry-title { font-size: 16px !important; margin-top: 10px !important; margin-bottom: 6px !important; }

  .col-12 h3 { font-size: 15px !important; margin-top: 8px !important; margin-bottom: 4px !important; }

  h4, .col-12 h4 { font-size: 13px !important; margin-top: 6px !important; margin-bottom: 3px !important; }

  .col-12 p, .col-12 ul, .col-12 ol { font-size: 13px !important; margin-bottom: 8px !important; }

}

/* === END TYPOGRAPHY === */





/* === FOOTER PROFESSIONAL === */

.site-footer {

  background: #1a1a2e !important;

  color: #c0c0d0 !important;

  font-size: 14px !important;

  line-height: 1.6 !important;

}

.footer-main {

  padding: 48px 0 32px !important;

}

.footer-container {

  max-width: 1200px !important;

  margin: 0 auto !important;

  padding: 0 20px !important;

}

.footer-grid {

  display: grid !important;

  grid-template-columns: 1.2fr 1fr 1fr 1.2fr !important;

  gap: 32px !important;

}



/* Logo */

.footer-logo {

  display: flex !important;

  align-items: center !important;

  gap: 10px !important;

  margin-bottom: 16px !important;

}

.footer-logo svg {

  flex-shrink: 0 !important;

}

.footer-logo-text {

  font-size: 22px !important;

  font-weight: 700 !important;

  color: #fff !important;

}

.footer-desc {

  color: #a0a0b8 !important;

  font-size: 14px !important;

  line-height: 1.6 !important;

  margin: 0 0 12px !important;

}

.footer-license {

  display: inline-block !important;

  background: rgba(255,255,255,0.08) !important;

  border: 1px solid rgba(255,255,255,0.12) !important;

  border-radius: 6px !important;

  padding: 4px 12px !important;

  font-size: 12px !important;

  color: #8888aa !important;

}



/* Headings */

.footer-heading {

  font-size: 15px !important;

  font-weight: 700 !important;

  color: #fff !important;

  margin: 0 0 16px !important;

  text-transform: uppercase !important;

  letter-spacing: 0.5px !important;

}



/* Contacts */

.footer-contact {

  display: flex !important;

  align-items: flex-start !important;

  gap: 8px !important;

  margin-bottom: 10px !important;

  color: #b0b0c8 !important;

  font-size: 14px !important;

  line-height: 1.5 !important;

}

.footer-contact svg {

  flex-shrink: 0 !important;

  margin-top: 2px !important;

}

.footer-phones {

  margin-top: 14px !important;

}

.footer-phone {

  display: block !important;

  font-size: 18px !important;

  font-weight: 700 !important;

  color: #4fc3f7 !important;

  text-decoration: none !important;

  margin-bottom: 4px !important;

}

.footer-phone:hover { color: #81d4fa !important; }

.footer-phone-sec {

  display: block !important;

  font-size: 15px !important;

  font-weight: 600 !important;

  color: #90a4ae !important;

  text-decoration: none !important;

}

.footer-phone-sec:hover { color: #b0bec5 !important; }



/* Links list */

.footer-links {

  list-style: none !important;

  margin: 0 !important;

  padding: 0 !important;

}

.footer-links li {

  margin-bottom: 8px !important;

}

.footer-links a {

  color: #b0b0c8 !important;

  text-decoration: none !important;

  font-size: 14px !important;

  transition: color 0.2s, padding-left 0.2s !important;

  display: inline-block !important;

}

.footer-links a:hover {

  color: #4fc3f7 !important;

  padding-left: 4px !important;

}



/* Buttons */

.footer-btn {

  display: block !important;

  width: 100% !important;

  text-align: center !important;

  padding: 12px 16px !important;

  border-radius: 8px !important;

  font-size: 14px !important;

  font-weight: 600 !important;

  text-decoration: none !important;

  cursor: pointer !important;

  border: none !important;

  transition: all 0.2s !important;

  margin-bottom: 10px !important;

  box-sizing: border-box !important;

}

.footer-btn-primary {

  background: #016CB4 !important;

  color: #fff !important;

}

.footer-btn-primary:hover {

  background: #015a9c !important;

  box-shadow: 0 4px 12px rgba(1,108,180,0.3) !important;

}

.footer-btn-secondary {

  background: transparent !important;

  color: #90a4ae !important;

  border: 1px solid rgba(255,255,255,0.15) !important;

}

.footer-btn-secondary:hover {

  border-color: #4fc3f7 !important;

  color: #4fc3f7 !important;

}



/* Payment */

.footer-payment-info {

  margin-top: 16px !important;

}

.footer-pay-label {

  display: block !important;

  font-size: 12px !important;

  color: #707088 !important;

  margin-bottom: 6px !important;

}

.footer-pay-img {

  height: 24px !important;

  width: auto !important;

}



/* Bottom bar */

.footer-bottom {

  border-top: 1px solid rgba(255,255,255,0.08) !important;

  padding: 16px 0 !important;

  font-size: 13px !important;

  color: #606078 !important;

}

.footer-bottom-inner {

  display: flex !important;

  justify-content: space-between !important;

  align-items: center !important;

  flex-wrap: wrap !important;

  gap: 8px !important;

}

.footer-privacy-link {

  color: #808098 !important;

  text-decoration: underline !important;

  text-underline-offset: 3px !important;

}

.footer-privacy-link:hover { color: #4fc3f7 !important; }



/* Responsive */

@media (max-width: 992px) {

  .footer-grid { grid-template-columns: 1fr 1fr !important; }

  .footer-main { padding: 36px 0 24px !important; }

}

@media (max-width: 576px) {

  .footer-grid { grid-template-columns: 1fr !important; gap: 24px !important; }

  .footer-main { padding: 28px 0 16px !important; }

  .footer-bottom-inner { flex-direction: column !important; text-align: center !important; padding: 0 8px !important; }

  .footer-container { padding: 0 16px !important; }

}

/* === END FOOTER PROFESSIONAL === */









/* === CENTERED MENU === */

.header-nav .header-container > ul {

  justify-content: flex-start !important;

  text-align: left !important;

}

.header-nav .header-container > ul > li {

  float: none !important;

  display: inline-block !important;

}

/* === END CENTERED MENU === */





/* === CAROUSEL === */

.carousel { position: relative !important; overflow: hidden !important; }

.carousel-inner { position: relative !important; width: 100% !important; }

.carousel-item { display: none; width: 100% !important; }

.carousel-item img { width: 100% !important; height: auto !important; display: block !important; }

.carousel-indicators {

  position: absolute !important; bottom: 15px !important; left: 50% !important;

  transform: translateX(-50%) !important; z-index: 15 !important; display: flex !important;

  gap: 8px !important; list-style: none !important; margin: 0 !important; padding: 0 !important;

}

.carousel-indicators li {

  width: 12px !important; height: 12px !important; border-radius: 50% !important;

  background: rgba(255,255,255,0.4) !important; border: 2px solid rgba(255,255,255,0.6) !important;

  cursor: pointer !important; text-indent: -9999px !important;

}

.carousel-indicators li.active { background: #fff !important; border-color: #fff !important; }



/* Modal */

.modal { display: none; position: fixed; z-index: 1050; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; }

.modal.show { display: block; }

.modal-dialog { position: relative; margin: 100px auto; max-width: 500px; }

.modal-content { background: #fff; border-radius: 12px; padding: 30px; box-shadow: 0 20px 60px rgba(0,0,0,0.3); position: relative; }

.modal-backdrop { position: fixed; z-index: 1040; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); }

.modal-backdrop.show { display: block; }

body.modal-open { overflow: hidden; }

.close { position: absolute; right: 15px; top: 10px; font-size: 28px; font-weight: bold; border: none; background: none; cursor: pointer; color: #999; }

.close:hover { color: #333; }

.zahuh { font-size: 22px; font-weight: 700; color: #1a1a2e; margin-bottom: 16px; }

/* === END CAROUSEL === */



/* === MOBILE CONTAINER FIX === */

@media (max-width: 576px) {

  .container,

  .container-fluid {

    padding-left: 8px !important;

    padding-right: 8px !important;

  }

  .container.glavnaya {

    padding-left: 8px !important;

    padding-right: 8px !important;

  }

  .col-12.col-lg-9 {

    padding-left: 8px !important;

    padding-right: 8px !important;

  }

}

/* === END MOBILE FIX === */

/* NEW MENU STYLES */

.service-menu { display: flex !important; gap: 0 !important; padding: 16px 20px !important; }

.service-group { flex: 1 !important; min-width: 0 !important; }

.service-group + .service-group { border-left: 1px solid #e8ecf1 !important; margin-left: 16px !important; padding-left: 16px !important; }

.service-group-title { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 13px !important; font-weight: 700 !important; color: #016cb4 !important; text-transform: uppercase !important; margin-bottom: 8px !important; padding: 0 14px !important; }

.srv-icon { font-size: 16px !important; }

.service-menu ul { list-style: none !important; margin: 0 !important; padding: 0 !important; min-width: 0 !important; }

.service-menu ul li a { display: block !important; padding: 5px 14px !important; font-size: 13px !important; color: #555 !important; text-decoration: none !important; background: none !important; }

.service-menu ul li a:hover { color: #016cb4 !important; background: #f0f7ff !important; }

.mm-header { display: flex !important; align-items: center !important; gap: 10px !important; padding: 10px 16px 8px !important; border-bottom: 1px solid rgba(255,255,255,0.1) !important; }

.mm-title { font-size: 18px !important; font-weight: 700 !important; color: #fff !important; }

.mm-desc { font-size: 12px !important; color: rgba(255,255,255,0.6) !important; }

.mm-body { padding: 4px 0 16px !important; }

.mm-section { border-bottom: 1px solid rgba(255,255,255,0.06) !important; }

.mm-section-header { display: flex !important; align-items: center !important; gap: 10px !important; padding: 8px 16px !important; cursor: pointer !important; }

.mm-section-icon { font-size: 18px !important; width: 28px !important; flex-shrink: 0 !important; }

.mm-section-title { font-size: 15px !important; font-weight: 600 !important; color: #fff !important; flex: 1 !important; }

.mm-section-arrow { font-size: 10px !important; color: rgba(255,255,255,0.4) !important; transition: transform 0.3s ease !important; }

.mm-section.expanded .mm-section-arrow { transform: rotate(180deg) !important; }

.mm-section-body { max-height: 0 !important; overflow: hidden !important; transition: max-height 0.35s ease !important; }

.mm-section.expanded .mm-section-body { max-height: 600px !important; }

.mm-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 2px !important; padding: 0 20px 14px !important; }

.mm-grid a { display: block !important; padding: 8px 10px !important; font-size: 14px !important; color: rgba(255,255,255,0.85) !important; text-decoration: none !important; border-radius: 6px !important; }

.mm-grid a:hover { background: rgba(255,255,255,0.1) !important; color: #fff !important; }

.mm-nav-items { padding: 8px 20px !important; }

.mm-nav-items a { display: block !important; padding: 8px 10px !important; font-size: 14px !important; font-weight: 500 !important; color: rgba(255,255,255,0.75) !important; text-decoration: none !important; border-radius: 6px !important; }

.mm-nav-items a:hover { background: rgba(255,255,255,0.08) !important; color: #fff !important; }

/* END NEW MENU STYLES */





МОБИЛЬНАЯ ШАПКА === */



/* Средние экраны (планшеты) — скрываем часы/адрес */

@media (max-width: 992px) {

  .header-middle { display: none !important; }

  .header-phones {

    flex-direction: row !important;

    align-items: center !important;

    gap: 8px !important;

  }

  .phone-main { font-size: 17px !important; }

  .phone-sec { font-size: 14px !important; }

}



/* Мобильные телефоны */

@media (max-width: 768px) {

  .site-header { position: relative !important; }

  .header-top { padding: 8px 0 !important; }

  

  .header-inner {

    padding: 0 8px !important;

    gap: 4px !important;

    flex-wrap: nowrap !important;

    min-height: 0 !important;

  }

  

  /* ГАМБУРГЕР — всегда видим на мобильных */

  .hamburger {

    display: flex !important;

    flex-direction: column !important;

    justify-content: center !important;

    align-items: center !important;

    gap: 4px !important;

    background: none !important;

    border: none !important;

    cursor: pointer !important;

    padding: 6px !important;

    flex-shrink: 0 !important;

    min-width: 40px !important;

    min-height: 40px !important;

    transition: transform 0.2s !important;

  }

  .hamburger span {

    display: block !important;

    width: 24px !important;

    height: 3px !important;

    background: #016CB4 !important;

    border-radius: 2px !important;

    transition: all 0.3s ease !important;

    transform-origin: center !important;

  }

  .hamburger.active span:nth-child(1) {

    transform: translateY(7px) rotate(45deg) !important;

  }

  .hamburger.active span:nth-child(2) {

    opacity: 0 !important;

    transform: scaleX(0) !important;

  }

  .hamburger.active span:nth-child(3) {

    transform: translateY(-7px) rotate(-45deg) !important;

  }

  

  /* ЛОГОТИП */

  .header-logo { flex-shrink: 0 !important; }

  .header-logo img { width: 36px !important; height: 36px !important; }

  .logo-text { font-size: 17px !important; }

  .logo-desc { font-size: 10px !important; }

  .header-logo a { gap: 6px !important; }

  

  /* ТЕЛЕФОНЫ — в строку */

  .header-phones {

    flex-direction: row !important;

    align-items: center !important;

    gap: 4px !important;

    flex-shrink: 1 !important;

    min-width: 0 !important;

    overflow: hidden !important;

  }

  .phone-main { 

    font-size: 16px !important; 

    white-space: nowrap !important;

  }

  .phone-sec { 

    font-size: 14px !important; 

    white-space: nowrap !important;

  }

  

  .header-middle { display: none !important; }

  

  /* НАВИГАЦИЯ — скрыта, показывается по клику */

  .header-nav { display: none !important; }

  .header-nav.open {

    display: block !important;

    position: absolute !important;

    top: 100% !important;

    left: 0 !important;

    width: 100% !important;

    z-index: 200 !important;

    background: #fff !important;

    border-top: 1px solid #e8ecf1 !important;

    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;

  }

  

  .nav-menu { flex-direction: column !important; }

  .nav-menu > li > a { 

    padding: 10px 16px !important; 

    border-bottom: 1px solid #f0f0f0 !important;

    font-size: 14px !important;

  }

  .has-sub .submenu,

  .has-sub:hover .submenu {

    display: none !important;

    position: static !important;

    box-shadow: none !important;

    border: none !important;

    padding: 0 0 0 16px !important;

    min-width: auto !important;

    border-radius: 0 !important;

  }

  .has-sub .submenu.open { display: flex !important; }

  

  body.menu-open { overflow: hidden !important; }

}



/* Очень маленькие экраны */

@media (max-width: 380px) {

  .header-inner { padding: 0 4px !important; gap: 2px !important; }

  .header-logo img { width: 28px !important; height: 28px !important; }

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

  .logo-desc { display: none !important; }

  .phone-main { font-size: 13px !important; }

  .phone-sec { display: none !important; }

  .hamburger { padding: 4px !important; min-width: 30px !important; min-height: 30px !important; }

  .hamburger span { width: 18px !important; height: 2px !important; }

}







/* Responsive */

@media (max-width: 576px) {

    .faq-question { font-size: 15px; padding: 12px 15px; }

    .faq-answer { font-size: 14px; padding: 12px 15px; }

}





/* FAQ минималистичный */

.faq-mini {

    margin-bottom: 20px;

    padding-left: 16px;

    border-left: 3px solid #016CB4;

}

.faq-mini-q {

    font-size: 18px;

    font-weight: 600;

    color: #016CB4;

    margin-bottom: 8px;

    line-height: 1.4;

}

.faq-mini-a {

    font-size: 16px;

    line-height: 1.7;

    color: #444;

}

.faq-mini-a p { margin: 0; }

@media (max-width: 576px) {

    .faq-mini-q { font-size: 17px; }

    .faq-mini-a { font-size: 15px; }

}



/* FAQ блок для статей */

.faq-item {

    border: 1px solid #e8eef3; border-radius: 10px;

    margin-bottom: 10px; overflow: hidden;

    background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.04);

}

.faq-question {

    padding: 14px 20px; margin: 0;

    font-size: 15px; font-weight: 600; color: #016CB4;

    background: #f8fafc;

    border-bottom: 1px solid #e8eef3;

    cursor: default;

}

.faq-question i { color: #016CB4; margin-right: 8px; font-size: 14px; }

.faq-answer { padding: 14px 20px; font-size: 14px; line-height: 1.6; color: #444; }

.faq-answer p { margin: 0; }

@media (max-width: 576px) {

    .faq-question { font-size: 14px; padding: 10px 14px; }

    .faq-answer { font-size: 13px; padding: 10px 14px; }

}







/* Doctor card styles - restored 2026-07-01 */

.doctor-card {

    display: flex;

    gap: 28px;

    padding: 28px;

    background: #fff;

    border: 1px solid #e8eef3;

    border-radius: 14px;

    transition: all 0.3s ease;

    box-shadow: 0 2px 8px rgba(0,0,0,0.04);

}

.doctor-card:hover {

    transform: translateY(-4px);

    box-shadow: 0 12px 32px rgba(1,108,180,0.12);

    border-color: #c0dcee;

}

.doctor-photo {

    flex-shrink: 0;

    width: 200px;

}

.doctor-photo img {

    width: 100%;

    height: 240px;

    object-fit: cover;

    border-radius: 12px;

    box-shadow: 0 4px 16px rgba(0,0,0,0.1);

    transition: transform 0.3s ease;

}

.doctor-card:hover .doctor-photo img {

    transform: scale(1.02);

}

.doctor-info {

    flex: 1;

    min-width: 0;

}

.doctor-name {

    font-size: 20px;

    font-weight: 700;

    color: #1a1a2e;

    margin: 0 0 4px 0;

    line-height: 1.3;

}

.doctor-spec {

    font-size: 14px;

    color: #016CB4;

    font-weight: 600;

    margin-bottom: 10px;

    line-height: 1.4;

}

.doctor-exp {

    font-size: 14px;

    color: #777;

    margin-bottom: 8px;

    line-height: 1.4;

}

.doctor-bio {

    font-size: 14px;

    line-height: 1.6;

    color: #555;

    margin: 0 0 14px 0;

}

.doctor-bio p {

    margin: 0 0 8px 0;

}

.doctor-btn {

    display: inline-block;

    padding: 10px 24px;

    background: #016CB4;

    color: #fff;

    font-size: 14px;

    font-weight: 600;

    border-radius: 8px;

    text-decoration: none;

    transition: all 0.3s ease;

    border: none;

    cursor: pointer;

}

.doctor-btn:hover {

    background: #015a96;

    transform: translateY(-2px);

    box-shadow: 0 6px 16px rgba(1,108,180,0.3);

    color: #fff;

    text-decoration: none;

}

@media (max-width: 768px) {

    .doctor-card {

        flex-direction: column;

        gap: 16px;

        padding: 20px;

    }

    .doctor-photo {

        max-width: 100%;

        width: 120px;

        margin: 0 auto;

    }

    .doctor-photo img {

        max-width: 100%;

        height: 180px;

    }

}



/* Admin link (invisible, visible on hover) */

a.urochat-admin-link {

    color: #016CB4 !important;

    display: flex;

    align-items: center;

    text-decoration: none;

    transition: color 0.25s ease;

}

a.urochat-admin-link:hover {

    color: rgba(255,255,255,0.7) !important;

}



/* rel-* CSS for article cross-linking (ApiRelArticles) */

.rel-next { margin-bottom: 20px; }

.rel-label { font-size: 13px; color: #888; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 6px; }

.rel-link { font-size: 16px; font-weight: 600; color: #016CB4; text-decoration: none; display: inline-block; }

.rel-link:hover { text-decoration: underline; }

.rel-list { display: flex; flex-wrap: wrap; gap: 8px; }

.rel-item { 

    display: inline-block; padding: 8px 14px; 

    background: #f8fafc; border: 1px solid #e8eef3; 

    border-radius: 6px; font-size: 13px; color: #333; 

    text-decoration: none; transition: all 0.2s;

}

.rel-item:hover { background: #eef4fa; border-color: #016CB4; color: #016CB4; }






/* ===== CTA + "Читайте также" (ApiArticleCta / ApiRelArticles) 2026-07-31 ===== */
.article-cta {
  margin: 40px 0 32px !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #016CB4 0%, #0d5e97 55%, #104a75 100%) !important;
  padding: 36px 40px !important;
  box-shadow: 0 12px 32px rgba(1,108,180,0.22) !important;
  position: relative !important;
  overflow: hidden !important;
}
.article-cta::before {
  content: "" !important;
  position: absolute !important;
  top: -60px !important;
  right: -60px !important;
  width: 220px !important;
  height: 220px !important;
  background: rgba(255,255,255,0.08) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}
.article-cta-content {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  position: relative !important;
  z-index: 1 !important;
}
.article-cta-icon {
  flex: 0 0 auto !important;
  width: 72px !important;
  height: 72px !important;
  background: rgba(255,255,255,0.15) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
}
.article-cta-icon svg { stroke: #ffffff !important; }
.article-cta-body { flex: 1 1 auto !important; }
.article-cta-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.3 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: none !important;
}
.article-cta-desc {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.92) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
}
.article-cta-btn {
  display: inline-block !important;
  background: #ffffff !important;
  color: #016CB4 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 14px 28px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
  letter-spacing: 0.2px !important;
}
/* 2-й блок статьи -> в чат (03.10.2026) */
.article-cta-actions { display: flex !important; align-items: center !important; gap: 18px !important; flex-wrap: wrap !important; }
.article-cta-btn { border: none !important; cursor: pointer !important; font-family: inherit !important; }
.article-cta-link { color: #ffffff !important; font-size: 15px !important; font-weight: 600 !important; text-decoration: underline !important; text-underline-offset: 3px !important; }
.article-cta-link:hover { color: rgba(255,255,255,0.85) !important; }
@media (max-width: 576px) { .article-cta-actions { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; } .article-cta-btn { text-align: center !important; } .article-cta-link { text-align: center !important; } }

.article-cta-btn:hover {
  background: #e8f3fb !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2) !important;
  color: #016CB4 !important;
  text-decoration: none !important;
}
@media (max-width: 576px) {
  .article-cta { padding: 28px 24px !important; }
  .article-cta-content { flex-direction: column !important; text-align: center !important; }
  .article-cta-title { font-size: 20px !important; }
}
/* "Читайте также" - cards */
.rel-also {
  margin: 40px 0 32px !important;
  padding-top: 28px !important;
  border-top: 2px solid #eef2f6 !important;
}
.rel-label {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin-bottom: 16px !important;
}
.rel-list {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
.rel-item {
  display: block !important;
  padding: 16px 18px !important;
  background: #f8fafc !important;
  border: 1px solid #e8eef3 !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: #2d2d44 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}
.rel-item:hover {
  background: #ffffff !important;
  border-color: #016CB4 !important;
  color: #016CB4 !important;
  box-shadow: 0 4px 12px rgba(1,108,180,0.12) !important;
  transform: translateY(-1px) !important;
}
@media (max-width: 576px) {
  .rel-list { grid-template-columns: 1fr !important; }
}

.soldo { padding-left:0 !important; padding-right:0 !important; }

.soldo a { display:block; }

.soldo img, .card-img { width:100% !important; max-width:100% !important; }

.soldo h4, .soldo p { padding-left:15px; padding-right:15px; }

/* === CHAT INVITE (приглашение-пузырь) === */
#urochat-invite{position:fixed;bottom:96px;right:20px;z-index:99998;display:none;align-items:center;gap:10px;background:#fff;border:1px solid #e0e6ef;border-radius:16px;box-shadow:0 6px 24px rgba(0,0,0,.14);padding:12px 14px;max-width:280px;font-size:13.5px;line-height:1.35;color:#16324f;cursor:pointer;animation:urochatInviteIn .5s ease}
#urochat-invite::before{content:'';position:absolute;bottom:-8px;right:26px;width:16px;height:16px;background:#fff;border-right:1px solid #e0e6ef;border-bottom:1px solid #e0e6ef;transform:rotate(45deg)}
#urochat-invite-close{background:none;border:none;font-size:18px;line-height:1;color:#8aa0b8;cursor:pointer;padding:2px 4px;flex-shrink:0}
#urochat-invite-close:hover{color:#16324f}
@keyframes urochatInviteIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){#urochat-invite{max-width:230px;font-size:12.5px;padding:10px 12px;bottom:92px}}


/* ===== Реорганизация прайсов (22.08.2026): диапазон цен + цена в карточке врача ===== */
.price-range-block {      background: #f0f7fc;      border: 1px solid #c0dcee;      border-left: 4px solid #016CB4;      border-radius: 10px;      padding: 16px 20px;      margin: 0 0 24px 0;  }
.price-range-title {      font-size: 18px;      font-weight: 700;      color: #1a1a2e;      margin: 0 0 4px 0;      line-height: 1.4;  }
.price-range-note {      font-size: 14px;      line-height: 1.5;      color: #555;      margin: 0;  }
.doctor-price {      font-size: 15px;      font-weight: 600;      color: #016CB4;      margin: 0 0 14px 0;      padding: 8px 12px;      background: #eef7fd;      border-radius: 8px;      line-height: 1.4;  }


.lead-form{background:#f0f7fd;border:1px solid #cfe5f5;border-radius:10px;padding:20px 24px;margin:28px 0;max-width:560px}
.lead-form h3{margin:0 0 6px;color:#016cb4;font-size:20px}
.lead-form p{margin:0 0 14px;color:#555;font-size:14px}
.lead-form input{width:100%;box-sizing:border-box;padding:11px 14px;margin-bottom:10px;border:1px solid #c9d8e6;border-radius:6px;font-size:15px}
.lead-form input:focus{outline:none;border-color:#016cb4}
.lead-form button{width:100%;padding:12px;background:#016cb4;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer}
.lead-form button:hover{background:#015a97}
#lf-msg{margin-top:10px;font-size:14px;font-weight:500}
@media(max-width:480px){.lead-form{padding:16px}}



/* === CTA-polosa v2 === */
.article-price-cta{background:#f0f7fd !important;border:1px solid #cfe5f5 !important;border-radius:12px !important;padding:14px 28px 16px !important;margin:28px 0 !important;display:flex !important;flex-wrap:nowrap !important;align-items:flex-end !important;justify-content:space-between !important;gap:32px !important}
.article-price-cta .apc-txt{flex:1 1 auto !important;min-width:0 !important}
.article-price-cta h3{margin:0 0 6px !important;padding:0 !important;border:none !important;color:#016cb4 !important;font-size:24px !important;font-weight:700 !important;line-height:1.22 !important}
.article-price-cta p{margin:0 !important;padding:0 !important;background:none !important;border:none !important;color:#4a5a66 !important;font-size:15px !important;line-height:1.55 !important}
.article-price-cta .apc-btn{background:#016cb4 !important;color:#fff !important;padding:13px 30px !important;border-radius:8px !important;font-size:16px !important;font-weight:600 !important;white-space:nowrap !important;text-decoration:none !important;display:inline-block !important;align-self:flex-end !important;flex:0 0 auto !important;border:none !important;cursor:pointer !important;font-family:inherit !important;margin:0 !important}
.article-price-cta .apc-btn:hover{background:#015a97 !important;color:#fff !important}
@media(max-width:576px){.article-price-cta{flex-direction:column !important;align-items:stretch !important;padding:16px 18px !important;gap:12px !important}.article-price-cta h3{font-size:20px !important}.article-price-cta .apc-btn{text-align:center !important;box-sizing:border-box !important;width:100% !important}}

/* === Article MODERN layout v4 2026-10-03 — только страницы статей (body:has(.article-meta)) === */
body:has(.article-meta){font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif !important;color:#26333f;background:#ffffff;}
body:has(.article-meta) a{color:#016cb4;}
body:has(.article-meta) .pivbar{display:none !important;}
body:has(.article-meta) .container.glavnaya > .row{display:block !important;margin:0 !important;}
body:has(.article-meta) .col-12.col-lg-9{width:100% !important;max-width:1000px !important;margin:0 auto !important;padding:28px 20px 64px !important;flex:0 0 auto !important;float:none !important;}
body:has(.article-meta) .col-12.col-lg-9 h1{font-size:32px !important;font-weight:600 !important;line-height:1.24 !important;letter-spacing:-0.015em !important;color:#0f1f2e !important;margin:6px 0 14px !important;padding:0 !important;border:0 !important;}
body:has(.article-meta) .col-12.col-lg-9 h1::after{display:none !important;content:none !important;}
body:has(.article-meta) .col-12.col-lg-9 h2::after{display:none !important;content:none !important;}
body:has(.article-meta) .col-12.col-lg-9 h2{font-size:24px !important;font-weight:600 !important;line-height:1.3 !important;letter-spacing:-0.01em !important;color:#0f1f2e !important;margin:46px 0 16px !important;padding:0 !important;border:0 !important;}
body:has(.article-meta) .col-12.col-lg-9 h3{font-size:19px !important;font-weight:600 !important;line-height:1.4 !important;color:#0f1f2e !important;margin:30px 0 12px !important;padding:0 !important;border:0 !important;}
body:has(.article-meta) .col-12.col-lg-9 p,
body:has(.article-meta) .col-12.col-lg-9 li{font-size:17px !important;line-height:1.7 !important;color:#2b3a47 !important;}
body:has(.article-meta) .col-12.col-lg-9 p{margin:0 0 18px !important;}
body:has(.article-meta) .col-12.col-lg-9 ul,
body:has(.article-meta) .col-12.col-lg-9 ol{margin:0 0 20px !important;padding-left:26px !important;}
body:has(.article-meta) .col-12.col-lg-9 li{margin:0 0 9px !important;}
body:has(.article-meta) .col-12.col-lg-9 strong{font-weight:600 !important;color:#0f1f2e;}
body:has(.article-meta) .col-12.col-lg-9 img{border-radius:14px;}
body:has(.article-meta) .col-12.col-lg-9 .section-desc{font-size:17px !important;line-height:1.45 !important;color:#3a4a57 !important;font-weight:600 !important;letter-spacing:0 !important;margin:-2px 0 22px !important;padding:0 !important;background:none !important;text-align:center !important}
body:has(.article-meta) .article-meta{font-size:14px !important;color:#8a97a4 !important;margin:-2px 0 24px !important;gap:8px 18px !important;}
body:has(.article-meta) .short-answer{background:#f5f9fd !important;border:1px solid #e2eef8 !important;border-radius:14px !important;padding:18px 22px !important;margin:0 0 26px !important;font-size:17px !important;line-height:1.7 !important;color:#26333f !important;max-width:100% !important;}
body:has(.article-meta) .short-answer b{font-weight:600 !important;color:#0f1f2e !important;}
body:has(.article-meta) .art-toc{background:#f8fafc !important;border:1px solid #eef2f7 !important;border-radius:14px !important;padding:18px 22px !important;margin:0 0 28px !important;max-width:100% !important;}
body:has(.article-meta) .art-toc .art-toc-title{font-size:12.5px !important;letter-spacing:.08em !important;text-transform:uppercase !important;color:#8a97a4 !important;font-weight:600 !important;margin:0 0 10px !important;}
body:has(.article-meta) .art-toc .art-toc-cols{display:grid !important;grid-template-columns:1fr 1fr !important;column-gap:36px !important}body:has(.article-meta) .art-toc ol{padding-left:20px !important;margin:0 !important}
body:has(.article-meta) .col-12.col-lg-9 .art-toc li{font-size:15px !important;line-height:1.5 !important;margin:3px 0 !important;break-inside:avoid;}
body:has(.article-meta) .art-toc a{color:#33475b !important;text-decoration:none !important;}
body:has(.article-meta) .art-toc a:hover{color:#016cb4 !important;text-decoration:underline !important;}
body:has(.article-meta) .note-tip,body:has(.article-meta) .note-warn,body:has(.article-meta) .note-fact{background:#f8fafc !important;border:1px solid #eef2f7 !important;border-radius:14px !important;padding:16px 22px 16px 52px !important;margin:26px 0 !important;position:relative !important;font-size:17px !important;line-height:1.65 !important;color:#1f2b38 !important;font-weight:500 !important;max-width:100% !important;}
body:has(.article-meta) .note-tip svg,body:has(.article-meta) .note-warn svg,body:has(.article-meta) .note-fact svg{position:absolute !important;left:20px !important;top:18px !important;width:20px !important;height:20px !important;fill:none !important;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
body:has(.article-meta) .note-tip svg{stroke:#016cb4 !important;}
body:has(.article-meta) .note-fact svg{stroke:#7a8794 !important;}
body:has(.article-meta) .note-warn svg{stroke:#d1493f !important;}
body:has(.article-meta) .note-warn b,body:has(.article-meta) .note-warn strong{font-weight:600 !important;color:#0f1f2e !important;}
body:has(.article-meta) .article-table{width:100% !important;border-collapse:separate !important;border-spacing:0 !important;margin:26px 0 !important;font-size:16px !important;border:1px solid #eef2f7 !important;border-radius:14px !important;overflow:hidden;}
body:has(.article-meta) .article-table th{background:#f8fafc !important;color:#0f1f2e !important;font-weight:600 !important;text-align:left !important;padding:12px 16px !important;border:0 !important;border-bottom:1px solid #eef2f7 !important;font-size:15px !important;}
body:has(.article-meta) .article-table td{padding:12px 16px !important;border:0 !important;border-bottom:1px solid #f1f5f9 !important;font-size:16px !important;vertical-align:top;}
body:has(.article-meta) .article-table tr:last-child td{border-bottom:0 !important;}
body:has(.article-meta) .article-price-cta{display:flex !important;gap:28px !important;align-items:center !important;justify-content:space-between !important;background:#f5f9fd !important;border:1px solid #e2eef8 !important;border-radius:14px !important;padding:22px 26px !important;margin:34px 0 !important}
body:has(.article-meta) .col-12.col-lg-9 .article-price-cta h3{font-size:30px !important;font-weight:700 !important;line-height:1.16 !important;letter-spacing:-0.01em !important;margin:0 0 8px !important;color:#0b3a5b !important}
body:has(.article-meta) .col-12.col-lg-9 .article-price-cta p{font-size:15px !important;line-height:1.5 !important;color:#5b6b7a !important;margin:0 !important;}
body:has(.article-meta) .article-price-cta .apc-btn{background:#016cb4 !important;color:#fff !important;border:0 !important;border-radius:10px !important;padding:13px 26px !important;font-size:16px !important;font-weight:600 !important;cursor:pointer !important;white-space:nowrap !important;}
body:has(.article-meta) .article-price-cta .apc-btn:hover{background:#0a5c96 !important;}
body:has(.article-meta) .lead-form{background:#f8fafc !important;border:1px solid #eef2f7 !important;border-radius:16px !important;padding:26px 28px !important;max-width:100% !important;margin:38px 0 !important;}
body:has(.article-meta) .lead-form h3{font-size:20px !important;font-weight:600 !important;color:#0f1f2e !important;margin:0 0 6px !important;}
body:has(.article-meta) .col-12.col-lg-9 .lead-form p{font-size:14.5px !important;color:#6b7a88 !important;margin:0 0 16px !important;}
body:has(.article-meta) .lead-form input{width:100% !important;box-sizing:border-box !important;padding:12px 14px !important;margin-bottom:12px !important;border:1px solid #dbe4ee !important;border-radius:10px !important;font-size:16px !important;}
body:has(.article-meta) .lead-form button{width:100% !important;padding:13px !important;background:#016cb4 !important;color:#fff !important;border:0 !important;border-radius:10px !important;font-size:16px !important;font-weight:600 !important;cursor:pointer !important;}
body:has(.article-meta) .faq-mini{border:0 !important;border-bottom:1px solid #eef2f7 !important;padding:13px 0 !important;}
body:has(.article-meta) .faq-mini:last-of-type{border-bottom:0 !important;}
body:has(.article-meta) .faq-mini-q{font-weight:600 !important;font-size:17px !important;color:#0f1f2e !important;margin:0 0 5px !important;padding:0 !important;}
body:has(.article-meta) .col-12.col-lg-9 .faq-mini-a p{font-size:16px !important;line-height:1.58 !important;color:#42525f !important;margin:0 !important;}
@media(max-width:768px){
 body:has(.article-meta) .col-12.col-lg-9{padding:18px 16px 48px !important;}
 body:has(.article-meta) .col-12.col-lg-9 h1{font-size:26px !important;}
 body:has(.article-meta) .col-12.col-lg-9 h2{font-size:21px !important;margin-top:34px !important;}
 body:has(.article-meta) .col-12.col-lg-9 p,body:has(.article-meta) .col-12.col-lg-9 li{font-size:16.5px !important;}
 body:has(.article-meta) .art-toc .art-toc-cols{grid-template-columns:1fr !important}
 body:has(.article-meta) .article-price-cta{flex-direction:column !important;align-items:stretch !important;}
 body:has(.article-meta) .col-12.col-lg-9 .article-price-cta h3{font-size:22px !important;}
}

/* === Global modern typography 04.10.2026 === */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif !important;}
h1,h2,h3,h4,h5,h6{font-family:inherit !important;}
h1,h2,h3,h4,.col-12 h1,.col-12 h2,.col-12 h3,.col-12 h4{font-weight:600 !important;letter-spacing:-0.01em !important;}
h1::after,h2::after{display:none !important;content:none !important;}

/* === подстрочники ближе к заголовкам 04.10.2026 === */
h1:has(+ h2),h1:has(+ p),h1:has(+ .section-desc){margin-bottom:6px !important;}
h2:has(+ .section-desc),h3:has(+ .section-desc){margin-bottom:6px !important;}
body .col-12.col-lg-9 h2:has(+ .section-desc),body .col-12.col-lg-9 h3:has(+ .section-desc){margin-bottom:8px !important;}
body .col-12.col-lg-9 .section-desc{margin-top:0 !important;}

/* === подстрочник под H1 04.10.2026 === */
body .col-12 h1:has(+ h2),body .col-12 h1:has(+ p),body h1:has(+ h2),body h1:has(+ p){margin-bottom:10px !important;}

/* === h1+h2 gap 04.10.2026 === */
body .col-12 h1 + h2,body .col-12 h1 + p,body h1 + h2,body h1 + p{margin-top:6px !important;}

/* === H1PAD_FIX_20261004: убрать остаток декоративной линии под H1 (style.css) === */
h1{padding-bottom:0 !important;}
h1::after,h1:after{display:none !important;content:none !important;}

/* === doctor-rate 05.10.2026 === */
.doctor-rate{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}
.doctor-stars{display:flex;gap:2px}
.doctor-stars svg{width:16px;height:16px;fill:#ffcc00}
.doctor-rate-num{font-size:15px;font-weight:600;color:#14293d}
.doctor-rate-cnt{font-size:14px;color:#016cb4;text-decoration:none;border-bottom:1px solid rgba(1,108,180,.35)}
.doctor-rate-cnt:hover{border-bottom-color:#016cb4}

/* === layout: sidebar gate — hide .pivbar outside services (05.10.2026) === */
body.no-piv .pivbar{display:none !important}
body.no-piv .container.glavnaya > .row{display:block !important;margin:0 !important}
body.no-piv .col-12.col-lg-9{width:100% !important;max-width:1000px !important;margin:0 auto !important;padding:28px 20px 64px !important;flex:0 0 auto !important;float:none !important}
