/* ============================================
   stylenew.css — кастомные стили НОВОГО шаблона ЭмиДент
   (поверх emident-new.css + emident-home.css)
   ============================================ */

/* === FAQ нумерация через counter (доп.поле home_faq) === */
.faq-grid-cols { counter-reset: faqc; }
.faq-grid-cols .accordion-num::before { counter-increment: faqc; content: counter(faqc, decimal-leading-zero) "."; }

/* === Клиники города (динамика из ClientConfig) === */
.clinics-city-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; }
.clinic-city-card { display: flex; align-items: flex-start; gap: 16px; background: #fff; border: 1px solid rgba(11,28,59,0.06); border-radius: 15px; padding: 24px; box-shadow: 0 10px 30px rgba(11,28,59,0.04); transition: all .3s ease; }
.clinic-city-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11,28,59,0.1); }
.clinic-city-icon { width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; background: var(--orange-gradient, linear-gradient(135deg,#ff7f22,#ff9a4d)); color:#fff; display:flex; align-items:center; justify-content:center; }
.clinic-city-info { flex: 1; }
.clinic-city-area { font-size: 13px; font-weight: 700; color: var(--orange,#ff7f22); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 4px; }
.clinic-city-addr { font-size: 17px; font-weight: 800; color: var(--dark-blue,#0b1c3b); line-height: 1.3; margin-bottom: 8px; }
.clinic-city-phone { font-size: 15px; font-weight: 700; color: var(--primary-blue,#3b82f6); text-decoration: none; }
.clinic-city-btn { margin-top: 14px; width: 100%; padding: 12px; border: none; border-radius: 100px; background: var(--orange-gradient, linear-gradient(135deg,#ff7f22,#ff9a4d)); color: #fff; font-weight: 700; font-size: 14px; cursor: pointer; transition: all .3s ease; }
.clinic-city-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(255,127,34,.3); }

/* === Убрать underline при наведении на карточку-ссылку цены === */
.price-card, .price-card:hover, .price-card:focus,
.price-card:hover *, .price-card:focus * { text-decoration: none !important; }

/* Hero оффер: слово "за" белым (перебиваем конфликтующее .price-value калькулятора) */
.price-block .price-value, .price-block .price-value strong { color: #fff !important; }

/* === Футер: телефон читаемо, без подчёркивания, с иконкой === */
.site-footer .footer-contact-info .phone .footer-phone-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: .2px;
    transition: color .2s ease;
}
.site-footer .footer-contact-info .phone .footer-phone-link:hover,
.site-footer .footer-contact-info .phone .footer-phone-link:focus {
    color: var(--orange) !important;
    text-decoration: none !important;
}
.site-footer .footer-phone-ico {
    flex: 0 0 auto;
    color: var(--orange);
}
/* === Футер: иконка мессенджера MAX === */
.site-footer .footer-socials { display: flex; gap: 10px; flex-wrap: wrap; }
.site-footer .footer-socials .social-btn.max {
    background: #fff;
    width: 40px;
    height: 40px;
}
.site-footer .footer-socials .social-btn { width: 40px; height: 40px; }

/* === Мега-меню: верхний ряд страниц переносится, не обрезается === */
.mega-menu .mega-nav-links {
    flex-wrap: wrap;
    row-gap: 14px;
    column-gap: 28px;
}
/* пустой грид подразделов не оставляет лишнего отступа */
.mega-menu .mega-links-grid:empty { display: none; }

/* === Мега-меню: пункты, для которых ещё нет страницы — красным === */
.mega-menu a.menu-missing,
.mega-menu .mega-tab-item.menu-missing,
.mega-menu .mega-tab-title a.menu-missing {
    color: #e53935 !important;
}
.mega-menu a.menu-missing:hover { color: #c62828 !important; }

/* === Имплантация: карточки врачей — фото без растяжения/кропа === */
.doctors-section .doctor-photo {
    height: 340px;
    background: linear-gradient(135deg, #eef3f9 0%, #e3ebf4 100%);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
}
.doctors-section .doctor-photo img {
    width: auto;
    max-width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: bottom center;
    display: block;
}
@media (max-width: 768px) {
    .doctors-section .doctor-photo { height: 380px; }
}

/* === Имплантация: этапы — на мобиле все пункты помещаются (перенос) === */
@media (max-width: 768px) {
    .process-sidebar {
        flex-wrap: wrap !important;
        overflow-x: visible !important;
        gap: 8px !important;
        padding: 14px !important;
        justify-content: center;
        border-bottom: 1px solid #eee;
    }
    .process-sidebar .step-link {
        white-space: normal !important;
        flex: 0 1 auto;
        width: auto !important;
        gap: 8px !important;
        padding: 8px 12px !important;
        border: 1px solid #e6ebf2 !important;
        border-radius: 999px;
    }
    .process-sidebar .step-link .step-name { font-size: 13px; line-height: 1.15; }
    .process-sidebar .step-link .step-num { width: 24px; height: 24px; min-width: 24px; font-size: 12px; }
    .process-sidebar .step-link.active {
        border-color: var(--orange) !important;
        background: rgba(255, 127, 34, 0.10);
    }
}

/* === Имплантация: hero-карточка "из чего состоит" на мобиле === */
@media (max-width: 768px) {
    .implant-card .item-line { display: none !important; }
    .implant-card .implant-image-container {
        margin: 10px auto 0 !important;
    }
    .implant-card .implant-total { text-align: center; }
}

/* === Мобильная шапка: скрыть адреса/график, оставить лого/телефон/кнопку === */
@media (max-width: 768px) {
    .top-nav-wrapper .header-location { display: none !important; }
    .top-nav-wrapper .divider { display: none !important; }
}

/* === Кнопка "Записаться на приём" — в одну строку === */
.btn-orange { white-space: nowrap; flex-wrap: nowrap; }
@media (max-width: 768px) {
    .doctor-info .btn-orange { width: 100% !important; padding: 0 20px !important; justify-content: center; }
}

/* ====== Имплантация: мобильные фиксы раскладки (грузится последним) ====== */
@media (max-width: 768px) {
    /* меньше боковые отступы, чтобы текст не сжимался в узкую колонку */
    .container { padding-left: 16px !important; padding-right: 16px !important; }

    /* убрать огромные вертикальные отступы между секциями */
    .method-section { margin-top: 0 !important; padding: 28px 0 !important; }
    .installment-section, .consultation-section, .reviews-section,
    .pricing-section, .indications-section, .process-section,
    .pros-cons-section, .quiz-section, .implant-types-section,
    .doctors-section, .faq-section, .ask-doctor-section { padding: 34px 0 !important; }

    /* консультация "что будет на приёме" — одна колонка */
    .cons-card-main { grid-template-columns: 1fr !important; }
    .cons-grid { grid-template-columns: 1fr !important; }

    /* порталы отзывов — 2 колонки без переполнения */
    .trust-portals { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; margin-bottom: 32px !important; }
    .portal-card { min-width: 0 !important; }
    .testimonials-grid { grid-template-columns: 1fr !important; }

    /* "вопрос врачу" — одна колонка, цитата нормально переносится */
    .ask-doctor-card { flex-direction: column !important; }
    .ask-doctor-card .doctor-side, .ask-doctor-card .form-side { width: 100% !important; padding: 26px !important; }
    .ask-doctor-card .doctor-quote { white-space: normal !important; }

    /* страховка от горизонтального вылета */
    .implant-types-section, .reviews-section, .consultation-section,
    .ask-doctor-section, .installment-section { overflow-x: hidden; }
}

/* === Имплантация: жёсткий фикс блока консультации на мобиле === */
@media (max-width: 768px) {
    .consultation-section .cons-card-main { display: block !important; }
    .consultation-section .cons-content,
    .consultation-section .cons-cta {
        width: 100% !important;
        max-width: 100% !important;
    }
    .consultation-section .cons-cta { padding: 24px 16px !important; }
}

/* === Имплантация: блок консультации — аккуратные отступы на мобиле === */
@media (max-width: 768px) {
    .consultation-section .cons-content { padding: 28px 20px !important; }
    .consultation-section .cons-cta { padding: 0 16px 24px !important; background: #fff !important; }
    .consultation-section .cta-card-inner { padding: 28px 20px !important; }
    .consultation-section .cons-footer-bar { padding: 20px !important; flex-direction: column; gap: 6px; text-align: center; }
}

/* === Футер: номер телефона в одну строку на мобиле === */
@media (max-width: 768px) {
    .site-footer .footer-contact-info .phone .footer-phone-link {
        white-space: nowrap;
        font-size: 18px;
        gap: 6px;
    }
    .site-footer .footer-phone-ico { width: 16px; height: 16px; }
}

/* === Футер: одна колонка на мобиле (номер всегда в строку) === */
@media (max-width: 600px) {
    .site-footer .footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
    .site-footer .footer-contact-info .phone .footer-phone-link { font-size: 22px; }
}

/* ============================================================
   CRITIQUE FIXES — osstem подстраница (и все подстраницы шаблона 53)
   Применяются к блокам внутри .method-section и смежным секциям.
   Не трогают emident-new.css.
   ============================================================ */

/* FIX D4 — ширина строки body-текста в method-section
   Базовый CSS даёт max-width:980px на .method-left, из-за чего
   строка параграфа достигает ~120ch. Ограничиваем до ~72ch. */
.method-section .method-desc {
    max-width: 72ch;
}

/* FIX D7 — H3-подзаголовки внутри method-section пока прописаны
   inline-стилями в чанке. Дублируем правило через CSS-класс,
   чтобы можно было менять централизованно. Inline перебьёт этот
   блок по специфичности, но как только inline уберут из чанка —
   правило подхватится автоматически. */
.method-section .method-left h3 {
    font-size: 21px;
    font-weight: 800;
    margin: 24px 0 10px;
    color: var(--dark-blue, #0b1c3b);
    line-height: 1.25;
}

/* FIX D9 — пульсирующая анимация btn-orange: оставляем только
   на главном CTA (кнопка «Записаться» в шапке и один hero-CTA),
   убираем у дублирующих кнопок в теле страницы. */
.doctors-section .btn-orange,
.installment-section .btn-orange,
.faq-section .btn-orange,
.pricing-section .btn-orange,
.ask-doctor-section .btn-orange,
.consultation-section .btn-orange {
    animation: none;
}

/* FIX D8 / P3 — pros-cons H2 text-align:center и pricing H2
   сейчас прописаны inline. Если inline убрать — эти правила
   подхватятся. Пока оставляем как резерв. */
.pros-cons-section .method-title {
    text-align: center;
    margin-bottom: 50px;
}

/* FIX M2 — cons-cta внутреннее переполнение на мобиле.
   scrollWidth=379 при clientWidth=326 — содержимое выходит за
   контейнер. Фиксируем: принудительно сжимаем внутренние элементы. */
@media (max-width: 768px) {
    .consultation-section .cons-cta {
        overflow: hidden !important;
        box-sizing: border-box;
    }
    .consultation-section .cta-card-inner {
        max-width: 100% !important;
        box-sizing: border-box;
    }
}

/* FIX M6 — method-section на мобайле: длинный текстовый блок
   без визуального якоря. Добавляем горизонтальную линию-разделитель
   перед каждым H3 и немного воздуха. */
@media (max-width: 768px) {
    .method-section .method-left h3 {
        padding-top: 16px;
        border-top: 1px solid rgba(11, 28, 59, 0.08);
        margin-top: 24px;
    }
    .method-section .method-left h3:first-of-type {
        border-top: none;
        padding-top: 0;
    }
    /* Ограничиваем строку и на мобиле */
    .method-section .method-desc {
        max-width: 100%;
    }
}

/* === Сквозной блок «карта услуг» — мобайл === */
@media (max-width: 768px){ .sitewide-map .sw-cols{ grid-template-columns:1fr 1fr !important; gap:18px !important; } }
@media (max-width: 480px){ .sitewide-map .sw-cols{ grid-template-columns:1fr !important; } }

/* fix: CTA-карточка консультации вылезала за контейнер */
.consultation-section .cons-cta{padding:0!important;min-width:0;}
.consultation-section .cta-card-inner{width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important;}

/* hero-photo = рамочное фото (object-fit:cover + border-radius).
   Дублирующее правило ниже убрано — оно перебивало cover→contain и ломало рамку. */
.hero-center .woman-image.hero-photo{
  object-fit: cover;
  border-radius: 28px;
  width: 100%;
  box-shadow: 0 24px 60px rgba(40,40,90,.18);
  background: #eef1f7;
}

/* === HERO: чистая 3-колоночная сетка (текст | фото | булиты), без наездов === */
@media(min-width:993px){
  .hero{ display:grid !important; grid-template-columns:minmax(0,1fr) 400px 320px !important; gap:32px !important; align-items:center !important; }
  .hero-left{ max-width:none !important; }
  .hero-center{ position:static !important; left:auto !important; right:auto !important; opacity:1 !important; display:flex !important; align-items:center; justify-content:center; }
  .hero-center .woman-image{ position:static !important; width:100% !important; height:auto !important; max-height:560px !important; object-fit:contain !important; }
  .hero-center .woman-image.hero-photo{ width:100% !important; height:560px !important; object-fit:cover !important; border-radius:28px !important; box-shadow:0 24px 60px rgba(40,40,90,.18) !important; background:#eef1f7 !important; }
  .hero-right{ width:auto !important; margin-top:0 !important; }
}

/* HERO fix v2: текст держится в своей колонке */
@media(min-width:993px){
  .hero{ grid-template-columns:minmax(0,1fr) 380px 310px !important; gap:30px !important; }
  .hero-left{ min-width:0 !important; overflow-wrap:anywhere; }
  .hero .main-title{ font-size:46px !important; line-height:1.08 !important; }
  .hero .subtitle{ max-width:100% !important; }
}

/* HERO fix v3: сброс transform у картинки + аккуратный перенос */
@media(min-width:993px){
  .hero-center{ transform:none !important; margin:0 !important; }
  .hero-left{ overflow-wrap:normal !important; word-break:normal !important; }
  .hero .main-title{ font-size:42px !important; }
}

/* === HERO адаптив: картинка видна на всех устройствах, без наездов === */
@media(max-width:992px){
  .hero{ display:flex !important; flex-direction:column !important; align-items:center !important; text-align:center; gap:8px; }
  .hero-left{ width:100% !important; max-width:640px !important; min-width:0 !important; }
  .hero .main-title{ font-size:34px !important; line-height:1.1 !important; }
  .hero-left .price-action, .hero-left .action-buttons{ justify-content:center !important; }
  .hero-center{ display:flex !important; position:static !important; transform:none !important; margin:18px auto 4px !important; width:100% !important; justify-content:center; opacity:1 !important; left:auto !important; }
  .hero-center .woman-image{ position:static !important; width:auto !important; max-width:100% !important; height:auto !important; max-height:380px !important; object-fit:contain !important; }
  .hero-center .woman-image.hero-photo{ width:100% !important; max-width:560px !important; height:300px !important; object-fit:cover !important; border-radius:24px !important; box-shadow:0 16px 40px rgba(40,40,90,.16) !important; }
  .hero-right{ width:100% !important; max-width:640px !important; margin-top:18px !important; display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
}
@media(max-width:600px){
  .hero .main-title{ font-size:28px !important; }
  .hero-center .woman-image{ max-height:320px !important; }
  .hero-center .woman-image.hero-photo{ height:240px !important; }
  .hero-right{ flex-direction:column; }
}

/* HERO desktop: крупнее картинка-вырезка, шире колонка фото */
@media(min-width:993px){
  .hero{ grid-template-columns:minmax(0,1fr) 500px 300px !important; gap:26px !important; align-items:end !important; }
  .hero .main-title{ font-size:40px !important; }
  .hero-center{ overflow:visible !important; align-items:flex-end !important; align-self:end !important; }
  /* Вырезка без фона — прижата снизу, чуть выезжает вниз */
  .hero-center .woman-image:not(.hero-photo){ width:auto !important; max-width:118% !important; height:600px !important; max-height:600px !important; object-fit:contain !important; object-position:bottom !important; margin-bottom:-24px !important; }
  /* Рамочное фото — по центру ячейки, не прижато к низу */
  .hero-center .woman-image.hero-photo{ width:100% !important; height:500px !important; }
}

/* ===== AUDIT FIXES v1 (2026-06-18) ===== */

/* FIX A1: hero margin-top снижаем с 140px до 96px на десктопе.
   taste-skill HERO TOP PADDING CAP: max ~6rem (96px).
   140px = контент проваливается вниз, теряется первый экран. */
@media(min-width:993px){
  .hero{ margin-top: 96px !important; }
}

/* FIX A2: hero-center для рамочного фото — центрирование.
   Для вырезки (без .hero-photo) нужны align-items:flex-end (фигура "стоит").
   Для рамочного фото нужны align-items:center (прямоугольник по центру ячейки). */
@media(min-width:993px){
  .hero-center:has(.hero-photo){
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    overflow: hidden !important;
  }
}

/* FIX A3: indications-grid — 4 карточки в 3-кол. сетке = сирота.
   Меняем на auto-fill, чтобы 4 карточки вставали в один ряд на широких
   экранах и не оставляли одинокую 4-ю карточку. */
.indications-grid{
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
}

/* FIX A4: feature-card текст — поднимаем с 12px до 13px.
   12px — нечитаемо особенно в узких ячейках grid на 1280–1440px. */
.feature-card p{
  font-size: 13px !important;
}

/* FIX A5: iconJump — убираем бесконечную анимацию иконок из idle-состояния.
   taste-skill / impeccable: motion must be motivated.
   Постоянно прыгающие иконки не коммуницируют ничего, только отвлекают.
   Оставляем анимацию ТОЛЬКО при наведении на карточку. */
.feature-card .icon-check{
  animation: none !important;
}
.feature-card:hover .icon-check{
  animation: iconJump 0.5s ease-in-out !important;
}

/* FIX A6: rating-card margin-top в grid-контексте.
   emident-new.css выставляет margin-top:8px. В hero-right grid
   это создаёт визуальный разрыв между булитами и рейтингом. Убираем. */
.hero .hero-right .rating-card{
  margin-top: 0 !important;
}

/* FIX A7: hero-right на мобиле 480–600px — 2 колонки вместо 1.
   Была 1 колонка: 6 карточек + рейтинг = очень длинный столбец.
   2 колонки = компактнее, читаемее. */
@media(min-width:420px) and (max-width:600px){
  .hero .hero-right{ grid-template-columns: repeat(2, 1fr) !important; }
}

/* FIX A8: hero .hero-right на планшете (601–992px) — 3 колонки.
   Текущие правила дают 2 колонки, что даёт 3 строки из 6 карточек.
   При ширине 600–992 комфортнее 3 колонки = 2 строки. */
@media(min-width:601px) and (max-width:992px){
  .hero .hero-right{ grid-template-columns: repeat(3, 1fr) !important; }
}

/* FIX A9: process-section step-img — шаги 4 и 5 используют фото имплантов
   (implant_assembled.png, implant_crown.png) с mix-blend-mode:multiply и белым bg.
   Это не CSS-баг, но картинки выглядят чужеродно. Пока нормализуем рендер:
   убеждаемся, что blend-mode не превращает фото в артефакт на светлом фоне. */
.step-detail .step-img[style*="mix-blend-mode"]{
  border-radius: 20px;
  background: #f0f4fa !important;
}

/* FIX A10: hero tablet — убираем слишком большой gap:8px между flex-блоками
   на 992px и ниже, чтобы контент не "слипался". Добавляем gap:20px. */
@media(max-width:992px){
  .hero{ gap: 20px !important; }
}

/* FIX A11: hero-photo — убираем лишний border-radius:0 из старого дублирующего правила.
   Старое правило на строке ~302 убрано, но в hero v4 на line 353 стояло
   height:540px → заменили на 500px (ровнее с сеткой левой колонки). */

/* FIX A12: section padding верхний на десктопе — section базово 120px.
   method-section при этом имеет margin-top:120px + padding:100px = огромный gap.
   В stylenew.css уже есть override для мобиле. Добавляем для десктопа. */
@media(min-width:993px){
  .method-section{ padding: 60px 0 !important; margin-top: 0 !important; }
}

/* ===== HERO bottom-row layout (RESTORED, authoritative — перебивает 3-кол блок) ===== */
@media(min-width:993px){
  .hero{
    display:grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,520px) !important;
    grid-template-areas: "left img" "bullets bullets" !important;
    column-gap:48px !important; row-gap:30px !important;
    align-items:center !important;
  }
  .hero-left{grid-area:left !important; min-width:0 !important; max-width:none !important;}
  .hero-center{grid-area:img !important; position:static !important; transform:none !important; left:auto !important; margin:0 !important; display:flex !important; justify-content:flex-end !important; align-items:flex-end !important; overflow:visible !important;}
  .hero-center:has(.hero-photo){justify-content:center !important; align-items:center !important;}
  .hero-center .woman-image{position:static !important; width:auto !important; height:auto !important;}
  .hero-center .woman-image:not(.hero-photo){max-width:100% !important; height:500px !important; max-height:500px !important; object-fit:contain !important; object-position:bottom !important; margin-bottom:0 !important;}
  .hero-center .woman-image.hero-photo{width:100% !important; height:480px !important; object-fit:cover !important; border-radius:28px !important; box-shadow:0 24px 60px rgba(40,40,90,.18) !important; background:#eef1f7 !important;}
  .hero .hero-right{
    grid-area:bullets !important;
    display:grid !important; grid-template-columns:repeat(6,1fr) !important;
    gap:14px !important; align-items:stretch !important; width:100% !important; margin:0 !important;
  }
  .hero .hero-right .feature-card,.hero .hero-right .rating-card{flex:none !important; width:auto !important; min-width:0 !important; max-width:none !important; margin:0 !important;}
}
@media(min-width:601px) and (max-width:992px){
  .hero .hero-right{display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:12px !important; max-width:700px !important; margin:0 auto !important;}
  .hero .hero-right .feature-card,.hero .hero-right .rating-card{width:auto !important; min-width:0 !important; max-width:none !important; margin:0 !important;}
}
@media(max-width:600px){
  .hero .hero-right{display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:10px !important;}
  .hero .hero-right .feature-card,.hero .hero-right .rating-card{width:auto !important; min-width:0 !important; max-width:none !important; margin:0 !important;}
}
@media(max-width:420px){
  .hero .hero-right{grid-template-columns:1fr !important;}
}

/* FIX: компактный хедер на планшете 769–992 (десктопный не помещается, обрезается «Записаться») */
@media(min-width:769px) and (max-width:992px){
  .top-nav-wrapper{ padding:0 12px !important; gap:8px !important; }
  .header-menu-toggle > span{ display:none !important; }
  .header-menu-toggle{ width:44px !important; height:44px !important; padding:0 !important; justify-content:center !important; flex-shrink:0 !important; }
  .header-location, .phone-text, .divider, .header-socials, .btn-primary .btn-text, .phone-desc{ display:none !important; }
  .header-phone{ margin-left:auto !important; display:flex !important; align-items:center !important; }
  .header-phone .icon-circle{ width:32px !important; height:32px !important; margin:0 !important; }
  .hero{ margin-top:90px !important; }
}

/* FIX: карточка рейтинга в булитах — вертикальная раскладка, чтобы текст влезал в узкую колонку */
.hero .hero-right .rating-card{
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:16px 12px !important;
}
.hero .hero-right .rating-card .rating-value{ font-size:30px !important; padding:6px 16px !important; }
.hero .hero-right .rating-card .rating-details{ align-items:center !important; gap:2px !important; }
.hero .hero-right .rating-card .rating-details p{ font-size:11px !important; margin-top:2px !important; }
.hero .hero-right .rating-card .stars{ font-size:15px !important; }

/* ===== FIX consultation-section: правый край карточки (2026-06-18) =====
   emident-new.css строка 2689 сбрасывает padding: 60px 0 на .container внутри
   секции — боковые паддинги = 0. Из-за этого cons-card-main растянута вплотную
   до краёв контейнера (1300px), тень/скругление правого края обрезается по viewport.
   Возвращаем стандартные боковые паддинги контейнера внутри секции.
   Вертикальные 60px сохраняем чтобы не трогать эталонный ритм. */
.consultation-section .container {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Нижняя плашка: паддинг выровнен под новые горизонтальные отступы карточки.
   Было padding: 25px 60px (emident-new.css) — 60px горизонтальный паддинг
   внутри карточки без внешних отступов. Теперь карточка уже на 80px (40+40),
   паддинг внутри плашки уменьшаем пропорционально — 40px сторона. */
.consultation-section .cons-footer-bar {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

@media (max-width: 992px) {
    .consultation-section .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 768px) {
    .consultation-section .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ===== CONSULTATION: split-карточка — правый столбец полностью фиолетовый во всю высоту ===== */
.cons-card-main{ background:#fff !important; }
.cons-cta{
  background:linear-gradient(155deg,#6a5cf6 0%,#5a43e0 60%,#5236d6 100%) !important;
  padding:56px 44px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:stretch !important;
}
.cons-cta .cta-card-inner{
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  text-align:center !important;
}
/* десктоп: фиолетовый справа во всю высоту (включая строку футера), цена/акция — слева снизу */
@media(min-width:993px){
  .cons-cta{ grid-column:2 / 3 !important; grid-row:1 / 3 !important; }
  .cons-footer-bar{ grid-column:1 / 2 !important; grid-row:2 / 3 !important; background:#fff !important; border-radius:0 0 0 40px !important; border-top:1px solid rgba(0,0,0,.06) !important; padding:24px 60px !important; }
}

/* ===== CONSULTATION split FINAL: перебиваем .consultation-section специфичность, даём внутренние отступы ===== */
.consultation-section .cons-cta{
  background:linear-gradient(155deg,#6a5cf6 0%,#5a43e0 60%,#5236d6 100%) !important;
  display:flex !important; flex-direction:column !important; justify-content:center !important; align-items:stretch !important;
}
.consultation-section .cta-card-inner{
  background:transparent !important; border-radius:0 !important; box-shadow:none !important;
  text-align:center !important; max-width:100% !important; margin:0 auto !important;
}
@media(min-width:993px){
  .consultation-section .cons-cta{ grid-column:2 / 3 !important; grid-row:1 / 3 !important; padding:56px 52px !important; }
  .consultation-section .cta-card-inner{ padding:0 !important; }
}
@media(max-width:992px){
  .consultation-section .cons-cta{ padding:40px 28px !important; background:linear-gradient(155deg,#6a5cf6 0%,#5a43e0 60%,#5236d6 100%) !important; }
  .consultation-section .cta-card-inner{ padding:0 !important; }
}

/* ===== CONSULTATION: встроенная форма в фиолетовом блоке ===== */
.consultation-section .cta-card-inner .cons-form{ display:flex !important; flex-direction:column; gap:12px; margin-top:22px; width:100%; }
.consultation-section .cta-card-inner .cons-form .home-form-input{ width:100% !important; box-sizing:border-box !important; padding:14px 16px !important; border-radius:12px !important; border:none !important; background:#fff !important; font-size:15px !important; color:#0b1c3b !important; margin:0 !important; }
.consultation-section .cta-card-inner .cons-form .home-form-input::placeholder{ color:#9aa3b2 !important; }
.consultation-section .cta-card-inner .cons-form .btn-orange{ width:100% !important; margin-top:4px !important; }
.consultation-section .cta-card-inner .cons-form-consent{ display:flex; gap:8px; align-items:flex-start; font-size:11px; line-height:1.4; color:rgba(255,255,255,.85); text-align:left; }
.consultation-section .cta-card-inner .cons-form-consent input{ margin-top:2px; flex-shrink:0; width:auto; }
.consultation-section .cta-card-inner .cons-form-consent a{ color:#fff; text-decoration:underline; }

/* ===== CONSULTATION форма: согласие в строку, ошибка, кнопка по центру ===== */
.consultation-section .cta-card-inner .cons-form-consent{
  flex-wrap:nowrap !important; white-space:nowrap !important;
  align-items:center !important; gap:7px !important; font-size:10px !important; color:rgba(255,255,255,.85);
}
.consultation-section .cta-card-inner .cons-form-consent a{ white-space:nowrap !important; color:#fff; text-decoration:underline; }
.consultation-section .cta-card-inner .cons-form-consent input[type=checkbox]{ margin:0 !important; flex-shrink:0; width:16px; height:16px; }
/* состояние ошибки — красным текст и чекбокс */
.consultation-section .cta-card-inner .cons-form-consent.consent-error{ color:#ff6b6b !important; }
.consultation-section .cta-card-inner .cons-form-consent.consent-error a{ color:#ff6b6b !important; }
.consultation-section .cta-card-inner .cons-form-consent.consent-error input[type=checkbox]{ outline:2px solid #ff3b3b !important; outline-offset:1px; accent-color:#ff3b3b; }
/* кнопка — текст со стрелкой по центру */
.consultation-section .cta-card-inner .cons-form .btn-orange{
  display:flex !important; align-items:center !important; justify-content:center !important;
  text-align:center !important; gap:8px; padding-left:24px !important; padding-right:24px !important;
}

/* ===== CONSULTATION форма FINAL: полный текст согласия, ошибки, успех ===== */
.consultation-section .cta-card-inner .cons-form-consent{
  white-space:normal !important; flex-wrap:nowrap !important; align-items:flex-start !important;
  gap:9px !important; font-size:11px !important; line-height:1.45 !important; text-align:left !important;
  color:rgba(255,255,255,.82) !important; margin-top:2px;
}
.consultation-section .cta-card-inner .cons-form-consent span{ display:block; }
.consultation-section .cta-card-inner .cons-form-consent a{ white-space:normal !important; color:#fff !important; text-decoration:underline; }
.consultation-section .cta-card-inner .cons-form-consent input[type=checkbox]{ margin:1px 0 0 0 !important; flex-shrink:0; width:18px; height:18px; cursor:pointer; }
/* ошибка — красным текст и чекбокс */
.consultation-section .cta-card-inner .cons-form-consent.consent-error{ color:#ff6b6b !important; }
.consultation-section .cta-card-inner .cons-form-consent.consent-error a{ color:#ff6b6b !important; }
.consultation-section .cta-card-inner .cons-form-consent.consent-error input[type=checkbox]{ outline:2px solid #ff3b3b !important; outline-offset:1px; accent-color:#ff3b3b; }
.consultation-section .cta-card-inner .home-form-input.input-error{ outline:2px solid #ff5a5a !important; }
/* кнопка по центру */
.consultation-section .cta-card-inner .cons-form .btn-orange{ display:flex !important; align-items:center !important; justify-content:center !important; text-align:center !important; gap:8px; padding-left:24px !important; padding-right:24px !important; }
/* успех */
.consultation-section .cta-card-inner .cons-form-success{ color:#fff; font-size:16px; font-weight:700; text-align:center; line-height:1.5; padding:24px 6px; }

/* ссылка на страницу врача в блоке «Задать вопрос» */
.ask-doctor-card .doctor-page-link{ display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-size:14px; font-weight:700; color:#5a43e0; text-decoration:none; transition:gap .2s ease; }
.ask-doctor-card .doctor-page-link:hover{ gap:10px; text-decoration:underline; }

/* блок «Задать вопрос»: ошибки валидации + успех */
.ask-doctor-card .checkbox-group.consent-error, .ask-doctor-card .checkbox-group.consent-error label{ color:#e53935 !important; }
.ask-doctor-card .checkbox-group.consent-error a{ color:#e53935 !important; }
.ask-doctor-card .checkbox-group.consent-error input[type=checkbox]{ outline:2px solid #e53935; outline-offset:1px; accent-color:#e53935; }
.ask-doctor-card .cta-form input[type=tel].input-error{ outline:2px solid #e53935 !important; }
.ask-doctor-card .cta-form-success{ font-size:17px; font-weight:700; color:#0b1c3b; padding:14px 0; }

/* HERO: симметричный отступ фото-в-рамке (верх = низ) */
@media(min-width:993px){
  .hero-center:has(.hero-photo){ align-self:start !important; align-items:flex-start !important; justify-content:center !important; }
  .hero-center .woman-image.hero-photo{ height:430px !important; margin-top:30px !important; margin-bottom:0 !important; }
}

/* HERO: симметричный отступ фото v2 (верх=низ через margin + row-gap) */
@media(min-width:993px){
  .hero{ row-gap:26px !important; }
  .hero-center:has(.hero-photo){ align-self:start !important; align-items:center !important; justify-content:center !important; overflow:visible !important; }
  .hero-center .woman-image.hero-photo{ height:400px !important; margin-top:26px !important; margin-bottom:0 !important; }
}

/* HERO: убрать scale(1.1) с фото — ломал симметрию/наезд */
.hero-center .woman-image.hero-photo{ transform:none !important; }

/* HERO: фото — выравнивание сверху, чтобы margin-top=верх, row-gap=низ */
@media(min-width:993px){
  .hero-center:has(.hero-photo){ align-items:flex-start !important; }
}

/* HERO: вторая кнопка «Записаться к врачу» — белая заливка, оранжевая рамка/текст */
.hero .action-buttons{ display:flex !important; flex-wrap:wrap; gap:14px; align-items:stretch; }
.hero .action-buttons .btn-outline-orange{
  display:inline-flex; align-items:center; justify-content:center;
  padding:20px 38px; border-radius:100px;
  background:#fff; color:#ff7f22; border:2px solid #ff7f22;
  font-size:16px; font-weight:800; text-transform:uppercase; letter-spacing:1.5px;
  line-height:1; cursor:pointer; transition:background .25s ease,color .25s ease,box-shadow .25s ease;
  box-shadow:0 8px 20px rgba(255,127,34,.12);
}
.hero .action-buttons .btn-outline-orange:hover{ background:#ff7f22; color:#fff; box-shadow:0 10px 26px rgba(255,127,34,.28); }
@media(max-width:600px){ .hero .action-buttons .btn-outline-orange{ width:100%; } }

/* Квиз: карточка эксперта по центру */
.quiz-section .quiz-sidebar .expert-info{ display:flex !important; flex-direction:column !important; align-items:center !important; text-align:center !important; }
.quiz-section .quiz-sidebar .expert-info .expert-avatar{ margin:0 auto 12px !important; }
.quiz-section .quiz-sidebar .expert-info .expert-name,
.quiz-section .quiz-sidebar .expert-info .expert-tag{ text-align:center !important; width:100%; }
.quiz-section .quiz-sidebar .expert-info .expert-desc{ text-align:center !important; }

/* HERO: одинаковый шрифт обеих кнопок (как у «Рассчитать стоимость») */
.hero .action-buttons .btn-outline-orange{ font-size:15px !important; text-transform:none !important; letter-spacing:normal !important; }

/* ===== Карточный layout для текстовых блоков (cards-section) ===== */
.cards-section{ padding:56px 0; }
.cards-section .cards-head{ text-align:center; max-width:760px; margin:0 auto 36px; }
.cards-section .cards-badge{ display:inline-block; background:#eef0f7; color:#5a43e0; font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:8px 16px; border-radius:100px; margin-bottom:16px; }
.cards-section .cards-title{ font-size:34px; font-weight:850; color:#0b1c3b; margin:0 0 12px; line-height:1.15; }
.cards-section .cards-sub{ font-size:16px; line-height:1.6; color:#6b7280; margin:0; }
.cards-section .cards-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; align-items:start; }
.cards-section .info-card{ background:#fff; border:1px solid #eceef3; border-radius:24px; padding:30px 32px; transition:box-shadow .25s ease, transform .25s ease; }
.cards-section .info-card:hover{ box-shadow:0 18px 44px rgba(20,20,60,.08); transform:translateY(-3px); }
.cards-section .info-card-h{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.cards-section .info-card-ic{ width:48px; height:48px; border-radius:14px; background:linear-gradient(135deg,#eef0fb,#e7ecff); display:flex; align-items:center; justify-content:center; color:#5a43e0; flex-shrink:0; }
.cards-section .info-card h3{ font-size:20px; font-weight:800; color:#0b1c3b; margin:0; line-height:1.25; }
.cards-section .info-card p{ font-size:15px; line-height:1.65; color:#5b6472; margin:0 0 10px; }
.cards-section .info-card p:last-child{ margin-bottom:0; }
.cards-section .info-card:last-child:nth-child(odd){ grid-column:1 / -1; }
@media(max-width:860px){ .cards-section .cards-grid{ grid-template-columns:1fr; } .cards-section .cards-title{ font-size:27px; } .cards-section .info-card{ padding:26px; } }

/* ГЛАВНАЯ: булиты справа (3 колонки), а не внизу */
@media(min-width:993px){
  .hero.hero-home{ grid-template-columns:minmax(0,1fr) 430px 300px !important; grid-template-areas:"left img bullets" !important; align-items:center !important; column-gap:30px !important; }
  .hero.hero-home .hero-left{ grid-area:left !important; }
  .hero.hero-home .hero-center{ grid-area:img !important; align-self:end !important; align-items:flex-end !important; justify-content:center !important; }
  .hero.hero-home .hero-center .woman-image{ margin-top:0 !important; height:720px !important; max-height:720px !important; }
  .hero.hero-home .hero-right{ grid-area:bullets !important; display:flex !important; flex-direction:column !important; gap:12px !important; width:auto !important; max-width:none !important; margin:0 !important; align-items:stretch !important; }
  .hero.hero-home .hero-right .feature-card,.hero.hero-home .hero-right .rating-card{ width:auto !important; min-width:0 !important; margin:0 !important; }
}

/* Имплантация: возвращено старое изображение woman_hq (атласная блузка) */
@media(min-width:993px){
  .hero-center .woman-image[src*="woman_hq"]{ height:600px !important; max-height:600px !important; max-width:none !important; width:auto !important; object-fit:contain !important; object-position:bottom !important; }
}

/* Виды протезирования на имплантах: картинка в каждой карточке (белый фон сливается) */
.cards-section .info-card-img{ margin:-12px -10px 16px; height:200px; display:flex; align-items:center; justify-content:center; }
.cards-section .info-card-img img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block; }
.cards-section .info-card:has(.info-card-img) h3{ margin:0 0 12px; font-size:20px; font-weight:800; color:#0b1c3b; line-height:1.25; }
@media(max-width:860px){ .cards-section .info-card-img{ height:185px; } }
/* Каталог услуг: фото-карточки заполняют область (cover) */
.catalog-sec .info-card-img{ margin:-30px -32px 18px; height:200px; border-radius:24px 24px 0 0; }
.catalog-sec .info-card-img img{ object-fit:cover !important; width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; }
@media(max-width:860px){ .catalog-sec .info-card-img{ margin:-26px -26px 16px; } }

/* Фотогалерея клиники */
.photo-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.photo-gallery .gallery-cell{ aspect-ratio:1/1; border-radius:16px; overflow:hidden; display:block; box-shadow:0 8px 24px rgba(11,28,59,.08); }
.photo-gallery .gallery-cell img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.photo-gallery .gallery-cell:hover img{ transform:scale(1.06); }
@media(max-width:860px){ .photo-gallery{ grid-template-columns:repeat(2,1fr); gap:10px; } }

/* Лицензии: галерея сканов + список документов */
.lic-gallery{ grid-template-columns:repeat(3,1fr); }
.lic-gallery .gallery-cell{ aspect-ratio:3/4; background:#fff; }
.lic-gallery .gallery-cell img{ object-fit:contain; }
.docs-list{ display:flex; flex-direction:column; gap:12px; }
.docs-list .doc-row{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid #eceef3; border-radius:16px; padding:18px 22px; text-decoration:none; transition:box-shadow .2s,transform .2s; }
.docs-list .doc-row:hover{ box-shadow:0 12px 30px rgba(20,20,60,.08); transform:translateY(-2px); }
.docs-list .doc-ic{ color:var(--orange); flex:0 0 auto; }
.docs-list .doc-name{ flex:1; font-weight:700; color:#0b1c3b; font-size:16px; }
.docs-list .doc-go{ color:var(--orange); font-weight:700; font-size:14px; white-space:nowrap; }
@media(max-width:860px){ .lic-gallery{ grid-template-columns:repeat(2,1fr); } .docs-list .doc-go{ display:none; } }

/* Контакты */
.contacts-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:30px; }
.contact-card{ background:#fff; border:1px solid #eceef3; border-radius:20px; padding:28px; }
.contact-card .contact-ic{ width:52px; height:52px; border-radius:14px; background:linear-gradient(135deg,#fff3e8,#ffe7d1); color:var(--orange); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.contact-card .contact-h{ font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; color:#8a93a3; margin-bottom:8px; }
.contact-card .contact-v{ font-size:18px; font-weight:700; color:#0b1c3b; line-height:1.4; }
.contact-card .contact-v a{ color:var(--orange); text-decoration:none; }
.map-wrap{ border-radius:20px; overflow:hidden; box-shadow:0 14px 40px rgba(11,28,59,.08); }
@media(max-width:860px){ .contacts-grid{ grid-template-columns:1fr; } }

/* ===== Врачи: профиль + список (новый дизайн) ===== */
.doctor-profile{ padding:50px 0 24px; }
.doctor-profile .container{ max-width:1200px; margin:0 auto; padding:0 40px; box-sizing:border-box; }
.doctor-profile .dp-grid{ display:grid; grid-template-columns:minmax(0,400px) minmax(0,1fr); gap:48px; align-items:center; }
.doctor-profile .dp-info{ min-width:0; }
.doctor-profile .dp-photo{ width:100%; max-width:400px; aspect-ratio:5/6; border-radius:28px; overflow:hidden; background:linear-gradient(135deg,#eef3f9,#e3ebf4); box-shadow:0 24px 60px rgba(40,40,90,.14); }
.doctor-profile .dp-photo img{ width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.doctor-profile .dp-badge{ display:inline-block; background:#fff3e8; color:var(--orange); font-size:12px; font-weight:800; letter-spacing:.6px; padding:8px 16px; border-radius:100px; margin-bottom:16px; }
.doctor-profile .dp-name{ font-size:40px; font-weight:800; color:#0b1c3b; line-height:1.15; margin:0 0 14px; }
.doctor-profile .dp-spec{ font-size:19px; color:var(--orange); font-weight:700; margin-bottom:10px; }
.doctor-profile .dp-meta{ font-size:17px; color:#5b6472; font-weight:600; margin-bottom:18px; }
.doctor-profile .dp-text{ font-size:16px; line-height:1.7; color:#4a5568; margin-bottom:24px; }
.doctor-profile .dp-actions .btn-secondary{ display:inline-flex; }
@media(max-width:992px){ .doctor-profile .container{ padding:0 20px; } .doctor-profile .dp-grid{ grid-template-columns:1fr; gap:24px; justify-items:start; } .doctor-profile .dp-photo{ max-width:320px; } .doctor-profile .dp-name{ font-size:28px; } }

/* список врачей: сетка карточек */
#mse2_results{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.doc-card{ display:flex; flex-direction:column; background:#fff; border:1px solid #eceef3; border-radius:22px; overflow:hidden; text-decoration:none; transition:box-shadow .25s,transform .25s; }
.doc-card:hover{ box-shadow:0 18px 44px rgba(20,20,60,.10); transform:translateY(-4px); }
.doc-card .doc-card-img{ aspect-ratio:1/1; background:linear-gradient(135deg,#eef3f9,#e3ebf4); overflow:hidden; }
.doc-card .doc-card-img img{ width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.doc-card .doc-card-body{ padding:18px 20px 22px; display:flex; flex-direction:column; flex:1; }
.doc-card .doc-card-name{ font-size:18px; font-weight:800; color:#0b1c3b; line-height:1.25; margin-bottom:8px; }
.doc-card .doc-card-spec{ font-size:14px; color:var(--orange); font-weight:700; margin-bottom:4px; }
.doc-card .doc-card-exp{ font-size:14px; color:#8a93a3; margin-bottom:14px; }
.doc-card .doc-card-btn{ margin-top:auto; color:var(--orange); font-weight:700; font-size:14px; }
.doctors-page .sf_h1{ font-size:40px; font-weight:800; color:#0b1c3b; text-align:center; margin:10px 0 8px; }
.doctors-page .subtitle{ text-align:center; color:#5b6472; max-width:640px; margin:0 auto 28px; }
/* фильтры врачей */
.msearch2 .row.clearfix:first-child{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-bottom:26px; }
.msearch2 #mse2_filters{ display:flex; gap:12px; flex-wrap:wrap; }
.msearch2 select{ padding:12px 18px; border:1px solid #e6ebf2; border-radius:100px; background:#fff; font-size:14px; color:#0b1c3b; }
.msearch2 .mse2_search{ display:none; } /* убрать голый поиск-артефакт */
@media(max-width:992px){ #mse2_results{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ #mse2_results{ grid-template-columns:1fr; } }

/* ===== Дизайн-аудит: причёсывание сырых блоков ===== */

/* --- 1. Секция отзывов: заголовки --- */
/* «Отзывы о враче» — стилизуем через родительский блок richtext */
.richtext h2[style*="text-align: center"],
.richtext h2[style*="text-align:center"] {
  font-family: inherit !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: var(--dark-blue) !important;
  letter-spacing: -0.3px;
  line-height: 1.2;
  text-align: center;
}
.richtext h2 span[style*="font-size"] {
  font-size: inherit !important;
  font-family: inherit !important;
}

/* --- 2. Форма отзыва .comment-form --- */
.comment-form {
  background: #fff;
  border: 1px solid #eceef3;
  border-radius: 24px;
  padding: 40px 44px;
  box-shadow: 0 12px 30px rgba(20,20,60,.06);
  max-width: 780px;
  margin: 32px auto 0;
}
.comment-form h2 {
  font-size: 26px;
  font-weight: 800;
  color: var(--dark-blue);
  text-align: center;
  margin: 0 0 28px;
  font-family: inherit;
  letter-spacing: -0.2px;
}
/* поля ввода */
.comment-form .form-group {
  margin-bottom: 18px;
}
.comment-form .form-group .control-label {
  font-size: 13px;
  font-weight: 700;
  color: #5b6472;
  margin-bottom: 6px;
  display: block;
}
.comment-form .form-control {
  width: 100%;
  padding: 13px 16px;
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  font-size: 15px;
  color: var(--dark-blue);
  background: #fff;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none;
}
.comment-form .form-control:focus {
  outline: none;
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(255,127,34,.12);
}
.comment-form textarea.form-control {
  resize: vertical;
  min-height: 110px;
}
/* ошибки */
.comment-form .ec-error.help-block {
  font-size: 12px;
  color: #e53935;
  margin-top: 4px;
  display: block;
}
/* кнопка отправки */
.comment-form .form-actions {
  margin-top: 24px;
  text-align: center;
}
.comment-form .form-actions input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 40px;
  background: var(--orange-gradient);
  color: #fff;
  border: none;
  border-radius: 100px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .3px;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(255,127,34,.28);
  transition: transform .2s ease, box-shadow .2s ease;
  font-family: inherit;
}
.comment-form .form-actions input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(255,127,34,.36);
}

/* --- 3. Рейтинг-звёзды: крупнее и оранжевые (переопределение ec.default.css) --- */
.comment-form .ec-rating {
  margin: 6px 0 2px;
}
.comment-form .ec-rating-stars {
  display: flex;
  gap: 6px;
}
.comment-form .ec-rating-stars span {
  width: 36px !important;
  height: 36px !important;
  background-image: none !important;
  font-size: 0;
  display: inline-block;
  position: relative;
  cursor: pointer;
}
.comment-form .ec-rating-stars span::before {
  content: "★";
  font-size: 34px;
  line-height: 1;
  color: #dde3ee;
  transition: color .15s ease, transform .15s ease;
}
.comment-form .ec-rating-stars span.active::before,
.comment-form .ec-rating-stars span.active2::before {
  color: var(--orange);
}
.comment-form .ec-rating-stars span:hover::before {
  color: var(--orange);
  transform: scale(1.15);
}
.comment-form .ec-rating-description {
  font-size: 12px;
  color: #8a93a3;
  margin-top: 6px;
}

/* --- 4. Скрыть пустую пагинацию --- */
.paginationCustom:empty {
  display: none;
}
/* Bootstrap .well убираем — он придаёт серый фон и рамку форме внутри .comment-form */
.comment-form .well,
.comment-form form.well {
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
  border-radius: 0;
}

/* --- 5. «СТОМАТОЛОГИ ПО СПЕЦИАЛИЗАЦИИ» — заголовок --- */
.h2.text-center {
  font-size: 28px;
  font-weight: 800;
  color: var(--dark-blue);
  text-align: center;
  font-family: inherit;
  margin: 48px 0 24px;
  letter-spacing: -0.2px;
}

/* --- 6. doc_list: отключить slick, сделать grid --- */
.doc_list.doc_slider {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 0 0 48px;
  /* сбросить slick-стили, если библиотека всё же инициализировалась */
  overflow: visible !important;
  transform: none !important;
}
/* на планшете 3 колонки */
@media (max-width: 1100px) {
  .doc_list.doc_slider {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* на мобиле 2 колонки */
@media (max-width: 700px) {
  .doc_list.doc_slider {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}
/* на узком мобиле 1 колонка */
@media (max-width: 420px) {
  .doc_list.doc_slider {
    grid-template-columns: 1fr;
  }
}
/* сброс slick-track/slick-list обёрток, если они появятся */
.doc_list.doc_slider .slick-track,
.doc_list.doc_slider .slick-list {
  display: contents !important;
}
.doc_list.doc_slider .slick-slide {
  display: block !important;
  float: none !important;
  width: auto !important;
}

/* --- 7. Поиск врачей: поле ввода по фамилии --- */
.msearch2.doc_search .form-group {
  margin-bottom: 0;
}
.msearch2.doc_search .form-control,
.msearch2 .form-control {
  padding: 12px 16px;
  border: 1px solid #e6ebf2;
  border-radius: 100px;
  background: #fff;
  font-size: 14px;
  color: var(--dark-blue);
  box-shadow: none;
  font-family: inherit;
  transition: border-color .2s ease;
  -webkit-appearance: none;
  appearance: none;
}
.msearch2.doc_search .form-control:focus,
.msearch2 .form-control:focus {
  outline: none;
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(255,127,34,.10);
}
/* кнопка поиска рядом с полем */
.msearch2.doc_search button[type="submit"],
.msearch2.doc_search input[type="submit"] {
  padding: 12px 22px;
  background: var(--orange-gradient);
  color: #fff;
  border: none;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: transform .2s ease, box-shadow .2s ease;
}
.msearch2.doc_search button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(255,127,34,.28);
}

/* --- 8. Обёртка секции отзывов: добавляем padding + фон --- */
#reviews.rows {
  padding: 8px 0;
}
/* если отзывов нет — скрыть пустой блок */
#reviews.rows:empty {
  display: none;
}

/* --- 9. Мобильная адаптация comment-form --- */
@media (max-width: 768px) {
  .comment-form {
    padding: 28px 20px;
    border-radius: 20px;
  }
  .comment-form h2 {
    font-size: 22px;
  }
}

/* --- 10. Bootstrap .row/.col — нейтрализовать внутри секции врачей на mobile --- */
@media (max-width: 600px) {
  .col-md-10.col-md-offset-1 {
    padding: 0 15px;
  }
}

/* --- 11. Кнопка поиска врачей (btn-success → оранжевая) --- */
.msearch2.doc_search .btn.btn-success {
  background: var(--orange-gradient) !important;
  border-color: transparent !important;
  color: #fff !important;
  border-radius: 100px !important;
  font-weight: 700;
  font-size: 14px;
  font-family: inherit;
  padding: 12px 20px !important;
  transition: transform .2s ease, box-shadow .2s ease;
  box-shadow: none;
}
.msearch2.doc_search .btn.btn-success:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(255,127,34,.28) !important;
}

/* Врачи: скрыть пустую пагинацию отзывов (показывала «1 2» без отзывов) */
.doctor-profile ~ * .paginationCustom, .comment-form ~ .paginationCustom, #reviews + .paginationCustom, .paginationCustom { display:none !important; }

/* Скрыть служебный оверлей поиска (артефакт ✕+поиск в углу на старых шаблонах) */
.fix_search{ display:none !important; }

/* ===== Дизайн-аудит: вертикальный ритм — страница врача и список врачей ===== */

/* --- Страница врача: общий ритм блока отзывов + стоматологи --- */

/* h2 «Отзывы о враче» (класс .section-title внутри .section_padding_40) */
.section_padding_40 .section-title {
  font-size: 36px;
  font-weight: 900;
  color: var(--dark-blue);
  text-align: center;
  letter-spacing: -0.4px;
  line-height: 1.2;
  margin-top: 56px;
  margin-bottom: 36px;
}
/* первый .section-title на странице не нужен лишний margin-top */
.section_padding_40 .section-title:first-child {
  margin-top: 0;
}

/* Пространство после последнего отзыва/#reviews перед формой */
#reviews.rows {
  margin-bottom: 0;
}

/* .comment-form: отделить снизу от блока «Стоматологи» */
.comment-form {
  margin-bottom: 72px;
}

/* Пустая пагинация не ест вертикальное место */
.paginationCustom:empty {
  margin: 0;
  padding: 0;
}

/* h2 «СТОМАТОЛОГИ ПО СПЕЦИАЛИЗАЦИИ» (.h2.text-center) */
.h2.text-center {
  /* уже задан font-size/weight/color в предыдущей секции, добавляем/уточняем ритм */
  margin-top: 0;       /* отступ сверху даётся margin-bottom у .comment-form */
  margin-bottom: 36px;
  font-size: 32px;
  font-weight: 900;
  color: var(--dark-blue);
  letter-spacing: -0.4px;
  line-height: 1.2;
  text-align: center;
  /* центрируем как section-title: ограничиваем ширину */
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

/* .doc_list.doc_slider: отступ снизу перед следующим блоком/футером */
.doc_list.doc_slider {
  margin-bottom: 64px;
}

/* Обёртка Bootstrap .row вокруг заголовка «Стоматологи»:
   убираем лишний gap, чтобы margin-bottom у .comment-form работал чисто */
.section_padding_40 .row:has(.h2.text-center) {
  margin-top: 0;
  margin-bottom: 0;
}

/* --- Страница врача: обёртка .section.section_padding_40 --- */
/* Задаём явный вертикальный padding секции, чтобы был отступ от hero/предыдущего блока */
section.section.section_padding_40 {
  padding-top: 72px;
  padding-bottom: 0; /* снизу даётся margin-bottom у .doc_list */
}

/* --- Список врачей: страница /vrachi/ --- */

/* Заголовок h1 + подзаголовок */
.doctors-page .sf_h1 {
  margin-top: 64px;
}
.doctors-page .subtitle {
  margin-bottom: 32px;
}

/* Фильтры + поиск: отступ сверху, отступ снизу перед сеткой */
.doctors-page #mse2_mfilter {
  margin-bottom: 36px;
}

/* Сетка врачей #mse2_results: отступ снизу перед следующей секцией/футером */
.doctors-page #mse2_results {
  margin-bottom: 72px;
}

/* .section_padding_40 на странице врачей (div, не section) */
.doctors-page .section_padding_40 {
  padding-top: 56px;
  padding-bottom: 0;
}

/* --- Мобильная адаптация ритма --- */
@media (max-width: 768px) {
  .section_padding_40 .section-title {
    font-size: 26px;
    margin-top: 40px;
    margin-bottom: 24px;
  }
  .comment-form {
    margin-bottom: 48px;
  }
  .h2.text-center {
    font-size: 22px;
    margin-bottom: 24px;
  }
  .doc_list.doc_slider {
    margin-bottom: 40px;
  }
  section.section.section_padding_40 {
    padding-top: 48px;
  }
  .doctors-page .sf_h1 {
    margin-top: 40px;
  }
  .doctors-page #mse2_results {
    margin-bottom: 48px;
  }
}

/* ===== Страница врача: отступ под фикс-шапку + симметрия секций (UX) ===== */
/* 1. Первый блок (профиль врача) не должен заезжать под фикс-шапку (шапка = 96px) */
.doctor-profile{ margin-top:96px !important; padding:48px 0 48px !important; }
/* 2. Блок отзывов/«стоматологи» — это <div class="section section_padding_40"> (НЕ <section>), у него не было паддинга → заголовок прилипал к верху */
.section.section_padding_40{ padding:72px 0 !important; }
.section.section_padding_40 .section-title{ margin:0 0 40px !important; }   /* «Отзывы о враче»: верх — от паддинга секции, низ 40 */
.section.section_padding_40 .comment-form{ margin-bottom:64px !important; } /* форма отделена от «стоматологи по специализации» */
.section.section_padding_40 .h2.text-center{ margin:8px auto 36px !important; } /* «Стоматологи по специализации» */
.section.section_padding_40 .doc_list.doc_slider{ margin-bottom:0 !important; padding-bottom:0 !important; }
@media(max-width:768px){
  .doctor-profile{ margin-top:80px !important; padding:28px 0 !important; }
  .section.section_padding_40{ padding:48px 0 !important; }
}

/* ===== Фиксы: кнопка отправки формы отзыва (мобайл) + крошки врачей ===== */
/* submit отзыва — НЕ должен превращаться в круглую .btn-primary 44px на мобиле */
.comment-form .form-actions input[type="submit"]{ width:auto !important; height:auto !important; border-radius:100px !important; overflow:visible !important; white-space:nowrap; }
@media(max-width:768px){
  .comment-form .form-actions input[type="submit"]{ width:100% !important; padding:16px 24px !important; }
}
/* список врачей: крошки не должны заезжать под фикс-шапку */
.doctors-page .breadcrumb{ margin-top:104px !important; margin-bottom:4px !important; }
.doctors-page .sf_h1{ margin-top:10px !important; }

/* 5 клиник: сетка карточек на контактах */
.clinics-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.clinics-grid .clinic-card{ display:flex; flex-direction:column; }
.clinics-grid .clinic-card .row-action-btn{ margin-top:auto; align-self:flex-start; }
@media(max-width:900px){ .clinics-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .clinics-grid{ grid-template-columns:1fr; } }

/* ===== Главная (hero-home): карточка рейтинга — ГОРИЗОНТАЛЬНАЯ раскладка как на проде seo.ai-res.ru (2026-06-22).
   Внутренние страницы (.hero БЕЗ .hero-home) НЕ трогаем — там остаётся вертикальная (правило выше, стр. ~500). ===== */
.hero.hero-home .hero-right .rating-card{
  flex-direction:row !important;
  align-items:center !important;
  text-align:left !important;
  justify-content:flex-start !important;
  gap:16px !important;
  padding:20px 24px !important;
}
.hero.hero-home .hero-right .rating-card .rating-value{ font-size:40px !important; padding:10px 16px !important; }
.hero.hero-home .hero-right .rating-card .rating-details{ align-items:flex-start !important; gap:2px !important; }
.hero.hero-home .hero-right .rating-card .rating-details p{ font-size:10px !important; line-height:1.4 !important; margin-top:4px !important; }
.hero.hero-home .hero-right .rating-card .stars{ font-size:16px !important; }

/* ============================================================
   ГЛАВНАЯ — ПЕРВЫЙ ЭКРАН (hero) ТОЧЬ-В-ТОЧЬ как на проде seo.ai-res.ru (2026-06-22).
   Прод = флекс-раскладка: женщина абсолютом по центру (scale .85), h1 56px,
   правая колонка 280px/gap16. Мой прежний код переписал hero на grid — здесь
   возвращаю флекс ТОЛЬКО для главной (.hero.hero-home). Внутренние страницы
   (.hero без .hero-home) НЕ трогаю. Меню и тексты не затрагиваются.
   ============================================================ */
@media(min-width:993px){
  .hero.hero-home{
    display:flex !important; flex-direction:row !important;
    justify-content:space-between !important; align-items:stretch !important;
    column-gap:normal !important; gap:normal !important;
    grid-template-columns:none !important; grid-template-areas:none !important;
    position:relative !important; margin:140px 0 0 !important; padding:0 0 60px !important;
    overflow:visible !important;
  }
  .hero.hero-home .hero-left{
    grid-area:auto !important; flex:1 1 0% !important;
    width:510px !important; max-width:510px !important; min-width:0 !important;
    position:static !important; z-index:2 !important;
  }
  .hero.hero-home .main-title{ font-size:56px !important; line-height:1.1 !important; }
  .hero.hero-home .action-buttons{ gap:24px !important; align-items:center !important; }
  .hero.hero-home .hero-center{
    grid-area:auto !important; position:absolute !important;
    left:55.5% !important; right:auto !important; top:-65px !important; bottom:auto !important;
    height:102% !important; width:auto !important;
    transform:translateX(-50%) !important; transform-origin:50% 50% !important;
    align-self:auto !important; align-items:normal !important; justify-content:center !important;
    overflow:visible !important; pointer-events:none !important; z-index:1 !important; margin:0 !important;
  }
  .hero.hero-home .hero-center .woman-image{
    position:static !important; height:100% !important; max-height:none !important;
    width:auto !important; max-width:none !important;
    object-fit:contain !important; object-position:center !important;
    transform:scale(0.85) !important; transform-origin:bottom center !important; margin:0 !important;
  }
  .hero.hero-home .hero-right{
    grid-area:auto !important; flex:0 0 280px !important;
    width:280px !important; max-width:280px !important; min-width:0 !important;
    margin:0 !important; gap:16px !important;
    align-items:stretch !important; align-self:auto !important; justify-content:flex-start !important; z-index:2 !important;
  }
}

/* Блок «Наши специалисты» на страницах услуг — ГОРИЗОНТАЛЬНЫЙ СЛАЙДЕР (одна строка, без переноса) 2026-06-23 */
.svc-doctors-slider{ position:relative; }
.svc-doctors-grid{
  display:flex !important; flex-wrap:nowrap !important; grid-template-columns:none !important;
  overflow-x:auto; gap:24px; align-items:stretch;
  scroll-snap-type:x proximity; scroll-behavior:smooth; -webkit-overflow-scrolling:touch;
  padding:6px 2px 16px; margin:0 -2px;
  scrollbar-width:thin; scrollbar-color:#cfd6e4 transparent;
}
.svc-doctors-grid::-webkit-scrollbar{ height:6px; }
.svc-doctors-grid::-webkit-scrollbar-track{ background:transparent; }
.svc-doctors-grid::-webkit-scrollbar-thumb{ background:#cfd6e4; border-radius:10px; }
.svc-doctors-grid .doc-card{ flex:0 0 auto !important; width:262px !important; max-width:262px !important; scroll-snap-align:start; }
.svc-doc-arrow{
  position:absolute; top:42%; transform:translateY(-50%);
  width:46px; height:46px; border-radius:50%; border:none; background:#fff;
  box-shadow:0 8px 24px rgba(11,28,59,.16); color:#0b1c3b; font-size:24px; line-height:1; padding:0 0 4px;
  cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:4; transition:transform .15s ease, box-shadow .15s ease;
}
.svc-doc-arrow:hover{ transform:translateY(-50%) scale(1.07); box-shadow:0 12px 30px rgba(11,28,59,.22); }
.svc-doc-arrow.prev{ left:-14px; }
.svc-doc-arrow.next{ right:-14px; }
@media(max-width:768px){
  .svc-doc-arrow{ display:none !important; }
  .svc-doctors-grid .doc-card{ width:74vw !important; max-width:300px !important; }
}

/* ===== FIX (2026-06-22): фильтр на странице врачей — кнопка «Поиск» падала вниз
   из-за bootstrap col-md-8/col-md-4 рядом с селектами. Ряд в одну линию, кнопка inline. ===== */
#mse2_mfilter .row.clearfix:first-child{ display:flex !important; flex-wrap:wrap !important; align-items:center !important; justify-content:center !important; gap:12px !important; }
#mse2_mfilter .row.clearfix:first-child > div,
#mse2_mfilter .row.clearfix:first-child .form-group,
#mse2_mfilter .row.clearfix:first-child [class*="col-"]{
  width:auto !important; max-width:none !important; flex:0 0 auto !important;
  margin:0 !important; padding:0 !important; float:none !important;
}
/* оба верхних столбца — горизонтальные флексы, чтобы селекты и (поиск+кнопка) шли в линию */
#mse2_mfilter .row.clearfix:first-child > div{ display:flex !important; align-items:center !important; gap:12px !important; }
#mse2_mfilter .row.clearfix:first-child input[name="query"]{ width:240px !important; max-width:60vw !important; height:46px !important; }
#mse2_mfilter .row.clearfix:first-child button[type="submit"],
#mse2_mfilter .row.clearfix:first-child .btn{
  width:auto !important; min-width:0 !important; height:46px !important; padding:0 30px !important; border-radius:100px !important;
  background:var(--orange-gradient) !important; color:#fff !important; border:none !important; font-weight:800 !important; font-size:14px !important; line-height:1 !important; box-shadow:0 6px 18px rgba(255,127,34,.25) !important;
}
#mse2_mfilter .row.clearfix:first-child button[type="submit"]:hover,
#mse2_mfilter .row.clearfix:first-child .btn:hover{ filter:brightness(1.05); }
/* внутренняя форма поиска по фамилии (.msearch2.doc_search) — input и кнопка в одну линию */
#mse2_mfilter .msearch2.doc_search{ display:flex !important; align-items:center !important; gap:10px !important; flex-wrap:nowrap !important; width:auto !important; }
#mse2_mfilter .msearch2.doc_search .form-group,
#mse2_mfilter .msearch2.doc_search [class*="col-"]{ width:auto !important; max-width:none !important; flex:0 0 auto !important; margin:0 !important; padding:0 !important; float:none !important; }
#mse2_mfilter .msearch2.doc_search .form-control{ width:240px !important; max-width:55vw !important; height:46px !important; }
/* самый вложенный .row внутри формы поиска по фамилии — тоже флекс (input | кнопка) */
#mse2_mfilter .msearch2.doc_search .row{ display:flex !important; align-items:center !important; gap:10px !important; flex-wrap:nowrap !important; margin:0 !important; width:auto !important; }

/* Honeypot-поле формы отзывов EasyComm — раньше скрывалось ec.default.css (мы его отключили) */
.ec-antispam{ display:none !important; }

/* Карточки популярных цен на главной: ссылки (фото+заголовок) без подчёркивания, кнопка = форма (2026-06-24) */
.price-card a, .price-card a:hover, .price-card a:focus{ text-decoration:none !important; }
.price-card-title{ text-decoration:none !important; }

/* FIX мобайл: блок клиник в одну колонку. Был grid 1fr 420px (emident-home.css) без мобильного override → галерея/карточка уезжали вправо (2026-06-24) */
@media(max-width:900px){
  .clinic-layout{ grid-template-columns:1fr !important; gap:20px !important; }
  .main-photo-wrapper{ height:260px !important; }
}
@media(max-width:600px){
  .main-photo-wrapper{ height:200px !important; }
  .clinic-card{ padding:20px !important; }
  .thumbnails{ flex-wrap:wrap !important; }
  .thumb{ width:64px !important; height:48px !important; }
}

/* FIX мобайл (2026-06-24): график работы — подпись и значение не слипаются */
.hours-row{ gap:14px; }
.hours-row .time{ white-space:nowrap; text-align:right; }
/* FIX мобайл: вкладки клиник не обрезаются (перенос текста, без клипа) */
@media(max-width:600px){
  .clinics-tabs{ overflow:visible !important; }
  .clinic-tab{ white-space:normal !important; text-align:center; max-width:100%; line-height:1.25; }
  .hours-row{ gap:12px; font-size:13px; }
}

/* Мобайл: основное фото (family_hero_girl) сразу после заголовка — через wrapper-слот (он стоит между h1 и подзаголовком); cutout-вариант скрываем 2026-06-25 */
@media(max-width:992px){
  .hero.hero-home .hero-center{ display:none !important; }
  .hero.hero-home .hero-mobile-image-wrapper{ display:block !important; max-width:340px !important; margin:18px auto 22px !important; border:none !important; box-shadow:none !important; background:transparent !important; overflow:visible !important; }
  .hero.hero-home .hero-mobile-image-wrapper .hero-mobile-woman-img{ object-fit:contain !important; height:auto !important; max-height:340px !important; }
}

/* Мобайл: единый уменьшенный отступ между секциями (~в 2 раза, было 80–100px), одинаково везде — симметрично 24px → зазор ~48px на всех границах 2026-06-25 */
@media(max-width:768px){
  .hero.hero-home{ padding-bottom:24px !important; }
  .stats-section, .services-section, .why-section, .clinics-section,
  .doctors-section, .faq-section, .cards-section, .indications-section,
  .method-section, .testimonials-section, .consultation-section, .ask-doctor-section,
  .installment-section, .reviews-section, .pricing-section, .process-section,
  .pros-cons-section, .quiz-section, .implant-types-section{
    padding-top:24px !important; padding-bottom:24px !important; margin-top:0 !important;
  }
}

/* Карточка рейтинга 4.8 — равномерное распределение: число и текст по центру, текст ровными строками 2026-06-25 */
.hero.hero-home .hero-right .rating-card{
  align-items:center !important;
  gap:18px !important;
  padding:18px 22px !important;
}
.hero.hero-home .hero-right .rating-card .rating-value{
  flex:0 0 auto !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
}
.hero.hero-home .hero-right .rating-card .rating-details{
  display:flex !important; flex-direction:column !important;
  align-items:flex-start !important; justify-content:center !important; gap:5px !important;
}
.hero.hero-home .hero-right .rating-card .rating-details p{
  max-width:172px !important; margin:0 !important; line-height:1.45 !important;
}

/* Мобайл: на страницах услуг (.hero БЕЗ .hero-home) основное фото — сразу после h1, перед подзаголовком.
   hero-left = display:contents, чтобы переупорядочить его детей вместе с hero-center через order 2026-06-25 */
@media(max-width:992px){
  .hero:not(.hero-home){ display:flex !important; flex-direction:column !important; align-items:stretch !important; }
  .hero:not(.hero-home) .hero-left{ display:contents !important; }
  .hero:not(.hero-home) .hero-left .badge-orange{ order:1 !important; }
  .hero:not(.hero-home) .hero-left .main-title{ order:2 !important; }
  .hero:not(.hero-home) .hero-center{ order:3 !important; display:flex !important; justify-content:center !important; margin:14px auto 18px !important; }
  .hero:not(.hero-home) .hero-center .woman-image{ max-width:300px !important; height:auto !important; }
  .hero:not(.hero-home) .hero-left .subtitle{ order:4 !important; }
  .hero:not(.hero-home) .hero-left .price-action{ order:5 !important; }
  .hero:not(.hero-home) .hero-right{ order:6 !important; }
}

/* «Наши услуги» — по центру, равные отступы сверху/снизу, как отдельный аккуратный элемент 2026-06-25 */
.hero .action-buttons .link-more{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  padding:14px 0 !important;
  margin-top:8px !important;
}

/* Мобайл: промо читаемо в 3 строки — «Акция до конца месяца:» / «2 500 ₽» крупно / «Бесплатно» крупно 2026-06-25 */
@media(max-width:600px){
  .cons-footer-bar{ padding-left:14px !important; padding-right:14px !important; }
  .cons-promo{
    white-space:normal !important;
    overflow:visible !important;
    font-size:15px !important;
    line-height:1.45 !important;
    text-align:center !important;
  }
  .cons-promo .old-price{
    display:block !important;
    margin:4px 0 0 !important;
    font-size:20px !important;
  }
  .cons-promo .new-price{
    display:block !important;
    margin:2px 0 0 !important;
    font-size:26px !important;
  }
}

/* Мобайл: кнопка «Все отзывы на Яндекс Картах» не обрезается — перенос текста, видимый overflow, меньше padding 2026-06-25 */
@media(max-width:600px){
  .reviews-section .btn-orange,
  .testimonials-section .btn-orange,
  .reviews-section a.btn.btn-orange,
  .testimonials-section a.btn.btn-orange{
    white-space:normal !important;
    overflow:visible !important;
    max-width:100% !important;
    padding:16px 22px !important;
    font-size:14px !important;
    line-height:1.3 !important;
    height:auto !important;
    text-align:center !important;
  }
}

/* Мобайл: аккордеон-подменю мегаменю — боковые отступы, заголовок не больше пункта, мелкие подпункты 2026-06-25 */
@media(max-width:992px){
  #megaMenu .mega-tab-content{
    padding:8px 26px 16px !important;
    background:transparent !important;
  }
  #megaMenu .mega-tab-title{
    font-size:16px !important;
    line-height:1.3 !important;
    margin:0 0 10px !important;
    padding:0 !important;
  }
  #megaMenu .mega-tab-title::after{ display:none !important; }
  #megaMenu .mega-tab-title a{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:3px !important;
  }
  #megaMenu .mega-tab-title a > span{ font-size:12px !important; }
  #megaMenu .mega-links-grid{ grid-template-columns:1fr !important; gap:0 !important; }
  #megaMenu .mega-links-grid a{
    font-size:14px !important;
    padding:9px 0 !important;
    line-height:1.25 !important;
  }
}

/* Страница врачей: убрать нативную «квадратную» стрелку селектов, поставить чистую SVG-стрелку 2026-06-25 */
.filter-specialization select,
.filter-clinic select,
.msearch2.doc_search select,
#mse2_mfilter select{
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230b1c3b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-position:right 16px center !important;
  background-size:13px 13px !important;
  padding-right:40px !important;
}
.filter-specialization select::-ms-expand,
.filter-clinic select::-ms-expand{ display:none !important; }

/* Сброс старой браузерной рамки fieldset (border:2px groove) — у фильтра врачей и форм 2026-06-26 */
.filter-specialization, .filter-clinic,
.msearch2 fieldset, .doc_search fieldset, .mse2_form fieldset,
#mse2_mfilter fieldset, form fieldset{
  border:0 !important; margin:0 !important; padding:0 !important; min-width:0 !important;
}

/* Врач: адреса приёма + блок отзывов ПроДокторов 2026-06-26 */
.dp-clinics{ margin:14px 0 6px; }
.dp-clinics-title{ display:block; font-weight:800; color:var(--dark-blue); font-size:14px; margin-bottom:8px; }
.dp-clinics-list{ display:flex; flex-direction:column; gap:7px; }
.dp-clinic{ display:flex; align-items:center; gap:8px; color:#475569; font-size:15px; }
.dp-clinic svg{ flex:0 0 auto; color:var(--orange); }
.pd-reviews{ padding:24px 0; }
.pd-card{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; background:#fff; border:1px solid #e6ebf2; border-radius:18px; padding:22px 26px; box-shadow:0 10px 30px rgba(40,40,90,.06); max-width:900px; margin:0 auto; }
.pd-logo{ display:flex; align-items:center; gap:10px; }
.pd-logo-mark{ width:42px; height:42px; border-radius:10px; background:#2bb673; color:#fff; font-weight:900; display:flex; align-items:center; justify-content:center; font-size:16px; }
.pd-logo-text{ font-weight:800; color:#2bb673; font-size:17px; }
.pd-info{ flex:1 1 240px; }
.pd-rating{ color:var(--dark-blue); font-size:15px; }
.pd-stars{ color:#ffb400; letter-spacing:1px; }
.pd-sub{ margin:4px 0 0; color:#8a93a3; font-size:13px; }
.pd-btn{ background:#2bb673; color:#fff !important; font-weight:700; padding:12px 22px; border-radius:100px; text-decoration:none !important; white-space:nowrap; display:inline-block; }
.pd-btn:hover{ background:#239a61; }
@media(max-width:600px){ .pd-card{ flex-direction:column; align-items:flex-start; } .pd-btn{ width:100%; text-align:center; } }
.pd-reviews-list{ max-width:900px; margin:16px auto 0; display:grid; gap:12px; }
.pd-review{ background:#f8fafc; border-radius:14px; padding:15px 18px; }
.pd-review-head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:6px; }
.pd-review-author{ font-weight:700; color:var(--dark-blue); font-size:14px; }
.pd-review-stars{ color:#ffb400; font-size:13px; letter-spacing:1px; }
.pd-review-date{ color:#8a93a3; font-size:12px; margin-left:auto; }
.pd-review-text{ color:#475569; font-size:14px; line-height:1.55; margin:0; }
.dc-clinics:empty{ display:none; }
.dc-clinics{ margin:8px 0 6px; display:flex; flex-direction:column; gap:5px; }
.dc-clinics .dp-clinic{ font-size:13px; color:#64748b; }
.dc-clinics .dp-clinic svg{ width:14px; height:14px; }
.pd-review-src{ display:inline-flex; align-items:center; gap:6px; margin-top:9px; font-size:12px; font-weight:600; color:#2bb673 !important; text-decoration:none !important; }
.pd-review-src:hover{ text-decoration:underline !important; }
.pd-review-src-badge{ background:#2bb673; color:#fff; border-radius:5px; padding:1px 5px; font-size:10px; font-weight:800; letter-spacing:.3px; }

/* ===== Акция месяца — страница /akczii/ ===== */
.promo-akcia-section{padding:46px 0 8px;}
.promo-akcia-card{display:grid;grid-template-columns:1.45fr .85fr;background:linear-gradient(135deg,#0b3a67 0%,#13559b 100%);border-radius:24px;overflow:hidden;box-shadow:0 22px 55px rgba(11,58,103,.28);}
.promo-akcia-left{padding:42px 46px;color:#fff;}
.promo-akcia-badge{display:inline-block;background:var(--orange,#ff7f22);color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.6px;padding:6px 15px;border-radius:20px;margin-bottom:18px;}
.promo-akcia-title{font-size:30px;line-height:1.15;font-weight:800;margin:0 0 14px;color:#fff;}
.promo-akcia-desc{font-size:16px;line-height:1.55;color:rgba(255,255,255,.85);margin:0 0 24px;max-width:520px;}
.promo-akcia-steps{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:13px 26px;}
.promo-akcia-steps li{display:flex;align-items:center;gap:12px;font-size:15px;color:#fff;}
.promo-akcia-steps li b{flex:none;width:28px;height:28px;border-radius:50%;background:rgba(255,127,34,.22);color:var(--orange,#ff7f22);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:14px;}
.promo-akcia-btn{font-size:16px;padding:14px 30px;}
.promo-akcia-note{font-size:13px;color:rgba(255,255,255,.6);margin:18px 0 0;}
.promo-akcia-right{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 30px;background:rgba(255,255,255,.07);text-align:center;}
.promo-akcia-pricelabel{font-size:14px;color:rgba(255,255,255,.7);margin-bottom:6px;}
.promo-akcia-new{display:block;font-size:56px;font-weight:800;color:var(--orange,#ff7f22);line-height:1;white-space:nowrap;}
.promo-akcia-all{display:block;margin-top:10px;font-size:16px;color:#fff;font-weight:600;}
@media(max-width:768px){
  .promo-akcia-section{padding:28px 0 4px;}
  .promo-akcia-card{grid-template-columns:1fr;}
  .promo-akcia-left{padding:30px 22px;}
  .promo-akcia-title{font-size:23px;}
  .promo-akcia-steps{grid-template-columns:1fr;gap:11px;}
  .promo-akcia-right{padding:26px 22px;}
  .promo-akcia-new{font-size:46px;}
}

/* ===== Команда врачей на странице услуги (вся команда) ===== */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media(max-width:992px){.team-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.team-grid{grid-template-columns:1fr;}}

/* ===== До/После — портфолио работ (/do-i-posle/) ===== */
.works-section{padding:54px 0;}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;}
.work-item{position:relative;border-radius:16px;overflow:hidden;cursor:zoom-in;aspect-ratio:1/1;background:#eef3f9;box-shadow:0 8px 24px rgba(20,20,60,.07);transition:transform .25s,box-shadow .25s;}
.work-item:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(20,20,60,.13);}
.work-item img{width:100%;height:100%;object-fit:cover;display:block;}
.work-item .work-badge{position:absolute;left:12px;top:12px;background:var(--orange,#ff7f22);color:#fff;font-size:12px;font-weight:700;padding:4px 11px;border-radius:14px;}
@media(max-width:900px){.works-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:540px){.works-grid{grid-template-columns:1fr;}}
.works-lightbox{position:fixed;inset:0;background:rgba(8,18,38,.88);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px;}
.works-lightbox.open{display:flex;}
.works-lightbox img{max-width:92vw;max-height:88vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.4);}
.works-lightbox .wl-close{position:absolute;top:16px;right:26px;color:#fff;font-size:42px;line-height:1;cursor:pointer;font-weight:300;}

/* ===== Директор в hero /o-nas/ ===== */
.director-hero{display:flex;flex-direction:column;align-items:center;}
.director-hero-img{max-width:430px;width:100%;height:auto;display:block;}
.director-hero-cap{text-align:center;margin-top:2px;}
.director-hero-name{display:block;font-weight:800;font-size:20px;color:#0b1c3b;}
.director-hero-role{display:block;margin-top:5px;font-size:14px;color:#5b6472;line-height:1.45;}
@media(max-width:768px){.director-hero-img{max-width:300px;margin:0 auto;}.director-hero-name{font-size:18px;}}

/* ===== Способы оплаты в футере ===== */
.footer-pay{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 0 0;}
.footer-pay-title{color:#fff;font-weight:600;font-size:15px;letter-spacing:.2px;}
.footer-pay-badges{display:inline-flex;align-items:center;gap:16px;background:#fff;border-radius:30px;padding:8px 18px;}
.footer-pay-badges .pay-visa{color:#1a1f71;font-style:italic;font-weight:800;font-size:19px;letter-spacing:-.5px;line-height:1;}
.footer-pay-badges .pay-mir{color:#0f9d58;font-weight:800;font-size:16px;line-height:1;}
.footer-pay-badges .pay-mc{position:relative;width:40px;height:24px;display:inline-block;}
.footer-pay-badges .pay-mc i{position:absolute;top:0;width:24px;height:24px;border-radius:50%;}
.footer-pay-badges .pay-mc i:first-child{left:0;background:#eb001b;}
.footer-pay-badges .pay-mc i:last-child{right:0;background:#f79e1b;mix-blend-mode:multiply;}

/* ===== Лицензии по адресам (вкладки) — /o-nas/liczenzii/ ===== */
.lic-doc-section{padding:50px 0;}
.lic-doc-wrap{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:start;}
.lic-doc-tabs{display:flex;flex-direction:column;gap:14px;}
.lic-doc-tabs-title{font-size:20px;font-weight:800;color:#0b1c3b;margin-bottom:6px;}
.lic-doc-tab{text-align:center;background:#fff;border:1px solid #e3e8f0;color:#0b1c3b;font-weight:600;font-size:15px;padding:13px 18px;border-radius:30px;cursor:pointer;transition:.2s;}
.lic-doc-tab:hover{border-color:#0b1c3b;}
.lic-doc-tab.active{background:#10204a;border-color:#10204a;color:#fff;}
.lic-doc-panels{position:relative;}
.lic-doc-panel{display:none;background:#10204a;border-radius:20px;padding:34px 38px;color:#fff;}
.lic-doc-panel.active{display:block;}
.lic-doc-panel h3{font-size:22px;font-weight:800;color:#fff;margin:0 0 18px;}
.lic-doc-org{font-size:16px;line-height:1.6;color:#dfe6f2;margin:0 0 18px;}
.lic-doc-labels{margin:0 0 22px;}
.lic-doc-labels span{display:block;color:#aeb9d4;font-size:15px;padding:3px 0;}
.lic-doc-imgs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.lic-doc-imgs a{display:block;border-radius:10px;overflow:hidden;border:2px solid #fff;aspect-ratio:286/396;background:#fff;cursor:zoom-in;}
.lic-doc-imgs img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:860px){.lic-doc-wrap{grid-template-columns:1fr;}.lic-doc-tabs{flex-direction:row;flex-wrap:wrap;}.lic-doc-tabs-title{flex:1 1 100%;}.lic-doc-tab{flex:1 1 auto;}.lic-doc-panel{padding:24px 20px;}.lic-doc-imgs{grid-template-columns:repeat(3,1fr);gap:8px;}}
@media(max-width:520px){.lic-doc-imgs{grid-template-columns:1fr;}}
.lic-lightbox{position:fixed;inset:0;background:rgba(8,18,38,.9);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px;}
.lic-lightbox.open{display:flex;}
.lic-lightbox img{max-width:94vw;max-height:90vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.lic-lightbox .ll-close{position:absolute;top:16px;right:26px;color:#fff;font-size:42px;line-height:1;cursor:pointer;}

/* ===== Правовые/текстовые страницы (политика и т.п.) под редизайн ===== */
.legal-section{padding:150px 0 70px;}
.legal-h1{font-size:34px;font-weight:800;color:#0b1c3b;line-height:1.15;margin:0 0 26px;}
.legal-article{max-width:880px;color:#2b3242;font-size:16px;line-height:1.75;}
.legal-article p{margin:0 0 14px;}
.legal-article h2,.legal-article h3{color:#0b1c3b;font-weight:800;margin:30px 0 12px;font-size:21px;}
.legal-article ol,.legal-article ul{margin:0 0 16px;padding-left:24px;}
.legal-article li{margin:7px 0;}
.legal-article ol>li>strong{color:#0b1c3b;}
.legal-article a{color:var(--orange);text-decoration:underline;}
.legal-article strong{color:#0b1c3b;}
.legal-article table{width:100%;border-collapse:collapse;margin:0 0 18px;}
.legal-article td,.legal-article th{border:1px solid #e3e8f0;padding:10px 12px;text-align:left;}
@media(max-width:768px){.legal-section{padding:120px 0 50px;}.legal-h1{font-size:26px;}.legal-article{font-size:15px;}}

/* ===== Блок статистики на главной (stat-card) ===== */
.stats-section{padding:50px 0;}
.stats-section .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1200px;margin:0 auto;padding:0 20px;}
.stats-section .stat-card{background:#fff;border-radius:18px;padding:32px 26px;box-shadow:0 12px 32px rgba(20,20,60,.07);text-align:center;}
.stats-section .stat-card.accent{background:linear-gradient(135deg,#ff7f22 0%,#ff9d4d 100%);box-shadow:0 16px 36px rgba(255,127,34,.28);}
.stats-section .stat-number{font-size:48px;font-weight:800;color:#0b1c3b;line-height:1;margin-bottom:12px;}
.stats-section .stat-card.accent .stat-number{color:#fff;}
.stats-section .stat-label{font-size:15px;color:#5b6472;line-height:1.45;}
.stats-section .stat-card.accent .stat-label{color:rgba(255,255,255,.95);}
@media(max-width:900px){.stats-section .stats-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.stats-section .stats-grid{grid-template-columns:1fr;}.stats-section .stat-number{font-size:40px;}}
