/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА (шаблон сайта sx) — голубая зона:
   шапка, карточка с хлебными крошками и заголовком.

   Отдельный бандл от общего (см. local/include/sx/inner/shell.php).
   Шрифты, токены --sx-*, сброс .sx-scope, типографика текста .sx-page
   и блок «Записаться» .sx-page__cta приезжают из общего бандла, он
   подключается раньше. Пути к его иконкам пишем АБСОЛЮТНО.

   Вид карточки и крошек повторяет поиск и страницу клиники — их бандлы
   отдельные и сюда не подключаются.
   ============================================================ */

/* Низ голубой зоны скруглён — так она отделяется от белого текста. */
.sx-inner-top{border-radius:0 0 32px 32px;}

.sx-inner-hero{padding-top:48px;}
.sx-inner-hero__card{background:#fff;border-radius:24px;overflow:hidden;}

/* — Хлебные крошки — */
.sx-crumbs{border-bottom:1px solid #e4e9f5;padding:8px 0 5px;}
.sx-crumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:11px 32px;
  font-size:14px;line-height:1.3;letter-spacing:-.2px;color:#6b7280;}
.sx-crumbs__item{display:inline-flex;align-items:center;gap:6px;min-width:0;}
/* Разделитель — шеврон из общего бандла, смотрит влево, разворачиваем.
   Псевдоэлементом, а не отдельным <li>: иначе список «удлиняется» для скринридера. */
.sx-crumbs__item + .sx-crumbs__item::before{content:"";width:13px;height:13px;flex:none;
  background-color:#6b7280;transform:scaleX(-1);
  -webkit-mask:url(/local/assets/sx/icons/arrow-sm.svg) center/7px 11px no-repeat;
          mask:url(/local/assets/sx/icons/arrow-sm.svg) center/7px 11px no-repeat;}
.sx-crumbs__list a{color:inherit;transition:color .15s ease;}
.sx-crumbs__list a:hover{color:var(--sx-blue);}
.sx-crumbs__list [aria-current]{font-weight:500;color:var(--sx-ink);}

/* — Заголовок — */
.sx-inner-hero__body{padding:56px 32px 48px;}
.sx-inner-hero__title{max-width:1360px;font-weight:500;font-size:60px;line-height:1.07;letter-spacing:-2.4px;
  color:var(--sx-ink);overflow-wrap:break-word;}

.sx-inner-top :focus-visible,.sx-inner :focus-visible{outline:2px solid #4c7dff;outline-offset:3px;}
/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА — колонка текста.

   Типографика голых тегов (p, h2–h4, списки, ссылки, таблицы) — .sx-page
   из общего бандла (13-page.css), та же, что у «Почему нас выбирают».
   Здесь — раскладка и поправки под текст, набранный в визуальном редакторе
   за много лет: выравнивание по ширине, размеры шрифта в style, <font>,
   пустые абзацы, таблицы-списки, ссылки на файлы. Сам текст не правим —
   его ведёт контент-менеджер на проде, поэтому только CSS.
   ============================================================ */

.sx-inner{padding:64px 0 120px;}
/* Колонка текста и блок «Записаться» — одной ширины с .sx-page. */
.sx-inner__col{max-width:860px;}

.sx-inner__content > :first-child,
.sx-inner__content > br:first-child + *{margin-top:0;}
/* Включаемые области часто начинаются с <br> — лишняя строка над текстом. */
.sx-inner__content > br:first-child{display:none;}
.sx-inner__content p:empty{display:none;}

/* У шрифта нового дизайна начертания 400 и 500. Жирный 700 браузер рисовал бы
   искусственно — берём 500, как у заголовков. */
.sx-inner__content :where(b,strong){font-weight:500;}

/* Оформление из старого редактора. style="…" в тексте сильнее любого селектора,
   поэтому !important — иначе текст остался бы в старом виде. Цвет не трогаем:
   им иногда выделяют важное. */
.sx-inner__content :is([style*="text-align: justify"],[style*="text-align:justify"]){text-align:left!important;}
/* Заголовок по центру в колонке, выровненной влево, выглядит съехавшим. */
.sx-inner__content :is(h1,h2,h3,h4,h5,h6)[style*="text-align"]{text-align:left!important;}
.sx-inner__content :is([style*="font-size"],font[size]){font-size:inherit!important;line-height:inherit!important;}
.sx-inner__content :is([style*="font-family"],font[face]){font-family:inherit!important;}
/* Абзац внутри заголовка: редактор оставляет <h3> открытым, и следующие абзацы оказываются
   в нём (/expert/, «Информация для специалистов»). Старый шаблон перебивал это размером
   в style, здесь размер снят — возвращаем абзацу вид текста, а не заголовка. */
.sx-inner__content :is(h1,h2,h3,h4,h5,h6) p{margin:0 0 16px;font-weight:400;font-size:18px;line-height:1.6;letter-spacing:-.2px;}

.sx-inner__content img{height:auto;}
/* Адрес вместо текста ссылки (https://…) не должен распирать колонку на телефоне. */
.sx-inner__content a{overflow-wrap:anywhere;}
.sx-inner__content :where(td,th) > :last-child{margin-bottom:0;}
/* Таблицы здесь — прейскуранты и списки на сотни строк: плотнее, чем в статье. */
.sx-inner__content table{font-size:15px;line-height:1.4;}
.sx-inner__content :where(th,td){padding:8px 12px;vertical-align:top;}
/* Рамки — только у таблиц данных. В редакторе таблица с рамкой получает border="1"
   (прейскуранты), а таблица без атрибута — это раскладка: фото рядом с текстом, список.
   december2018 рисовал их так же — без рамок. */
.sx-inner__content :is(table:not([border]),table[border="0"]){width:auto;max-width:100%;font-size:inherit;line-height:inherit;}
/* Ячейки раскладки — по центру по высоте, как по умолчанию в браузере и в december2018:
   иконка слева, подпись справа. Отступы маленькие — между ними редактор часто ставит
   пустые ячейки с &nbsp;, и крупный отступ разносил иконку и текст. */
.sx-inner__content :is(table:not([border]),table[border="0"]) :where(td,th){padding:3px 8px 3px 0;border:0;background:none;vertical-align:middle;}
.sx-inner__content td img{margin:0;}
/* <br> после картинки в ячейке давал лишнюю пустую строку под ней. */
.sx-inner__content td > img + br{display:none;}

/* — Ссылка на файл: пометка формата после текста — */
/* Одну ссылку редактор порой режет на несколько <a> подряд с тем же файлом —
   пометку ставим только последнему куску. */
.sx-inner__content a:not([class]):is([href$=".pdf" i],[href$=".doc" i],[href$=".docx" i],[href$=".rtf" i],[href$=".xls" i],[href$=".xlsx" i],[href$=".zip" i])::after{
  display:inline-block;margin-left:8px;padding:0 6px;border-radius:6px;
  background:var(--sx-tab-gray);color:var(--sx-ink-soft);
  font-family:var(--sx-font-mono);font-weight:500;font-size:12px;line-height:20px;letter-spacing:.4px;
  vertical-align:2px;text-decoration:none;}
.sx-inner__content a:not([class])[href$=".pdf" i]::after{content:"PDF";}
.sx-inner__content a:not([class]):is([href$=".doc" i],[href$=".docx" i])::after{content:"DOC";}
.sx-inner__content a:not([class])[href$=".rtf" i]::after{content:"RTF";}
.sx-inner__content a:not([class]):is([href$=".xls" i],[href$=".xlsx" i])::after{content:"XLS";}
.sx-inner__content a:not([class])[href$=".zip" i]::after{content:"ZIP";}
.sx-inner__content a:not([class]):has(+ a:not([class]))::after{content:none;}
/* Ссылке-картинке пометка не нужна: она встаёт под картинкой отдельной строкой.
   [href] — ради веса: правило должно перебить [href$=".pdf" i] выше. */
.sx-inner__content a:not([class])[href]:has(img)::after{content:none;}
/* Пустая ссылка (редактор оставляет <a href="…xlsx"></a>, когда стирают текст) — без пометки:
   иначе от неё остаётся одинокий «XLS». */
.sx-inner__content a:not([class])[href]:empty::after{content:none;}
/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА — боковая колонка: меню раздела и баннеры.

   Состав и условия — как в december2018: колонка справа от текста,
   до 1023px — над текстом, меню свёрнуто под кнопку «Меню раздела»
   (см. 20-resp.css и js/parts/10-side-menu.js).
   ============================================================ */

/* Текст слева той же ширины, колонка прижата к правому краю контейнера —
   по одной линии с карточкой заголовка и шапкой. */
.sx-inner__wrap--side{display:grid;grid-template-columns:minmax(0,860px) 340px;
  justify-content:space-between;column-gap:48px;align-items:start;}

.sx-inner__side{display:flex;flex-direction:column;gap:24px;min-width:0;}

/* — Меню раздела — */
.sx-side-menu{background:var(--sx-page-bg);border-radius:24px;padding:16px;}
/* Кнопка нужна только там, где меню сворачивается. */
.sx-side-menu__toggle{display:none;}
.sx-side-menu__list{display:flex;flex-direction:column;gap:2px;}
.sx-side-menu__link{display:block;padding:10px 16px;border-radius:12px;
  font-size:16px;line-height:1.35;letter-spacing:-.2px;color:var(--sx-ink);
  transition:background-color .15s ease,color .15s ease;}
.sx-side-menu__link:hover{background:#fff;color:var(--sx-blue);}
.sx-side-menu__link.is-active{background:#fff;color:var(--sx-blue);font-weight:500;}

/* — Баннеры (включаемая область, её заполняет контент-менеджер) — */
.sx-side-banners:empty{display:none;}
.sx-side-banners :where(a){display:block;margin-bottom:16px;}
.sx-side-banners :where(img){width:100%;height:auto;border-radius:20px;}
/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА — блок «Наши больницы» после текста.

   Как в december2018: на десктопе заголовок и картинка-карта
   (шаблон template_map_footer, общий с december2018 — разметку не трогаем,
   только оформляем), на телефоне интерактивная карта со списком больниц
   (шаблон map) и виджет новостей mos.ru (#widget2). Граница — 768/769px,
   та же, что у старых .desktop-only / .mobile-only.
   ============================================================ */

.sx-inner-hosp{margin-top:64px;}
.sx-inner-hosp--mobile{display:none;}

/* Разметка общего шаблона: <h2>, пустой <div>, <img width=880>, пустая таблица.
   Таблицу не прячем: если шаблон когда-нибудь наполнят, строки должны быть видны. */
.sx-inner-hosp--desktop h2{margin:0 0 24px;font-weight:500;font-size:32px;line-height:1.2;letter-spacing:-.96px;color:var(--sx-ink);}
.sx-inner-hosp--desktop img{width:100%;max-width:880px;height:auto;border-radius:24px;}

/* — Телефон: карта со списком — */
.sx-clinics-map__title{margin:0 0 16px;font-weight:500;font-size:24px;line-height:1.3;letter-spacing:-.72px;color:var(--sx-ink);}
.sx-clinics-map__list{display:flex;flex-direction:column;margin:0 0 16px;}
.sx-clinics-map__link{display:block;padding:10px 0;border-bottom:1px solid var(--sx-card-border);
  font-size:16px;line-height:1.35;letter-spacing:-.2px;color:var(--sx-ink);}
.sx-clinics-map__link:hover{color:var(--sx-blue);}
.sx-clinics-map__canvas{height:400px;border-radius:20px;overflow:hidden;background:var(--sx-page-bg);}

#widget2{margin:16px 0;}
#widget2:empty{margin:0;}
/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА — вкладки отделения (hospitals/detail.php).

   Содержимое вкладок рисуют шаблоны компонентов: spec и administ — перенесены
   в local/templates/sx, остальные (prices, history, vakancii, gallery, otd,
   reviews) общие с december2018 и лежат в local/templates/.default — их
   разметку не трогаем, только оформляем здесь.
   ============================================================ */

/* У «Фотогалереи» заголовок пустой и в december2018 (шаблон берёт его из названия
   свойства, а оно пустое). Пустую строку заголовка не показываем. */
.sx-inner-hero__body:has(> .sx-inner-hero__title:empty){display:none;}

/* — Колонка: места, которые заполняет карточка отделения (контакты, карта, отзыв) — */
.sx-side-card:empty,.sx-side-extra:empty{display:none;}
.sx-side-card{padding:20px 24px;border-radius:24px;background:var(--sx-page-bg);
  font-size:16px;line-height:1.45;color:var(--sx-ink);}

/* — Специалисты и администрация (шаблоны spec, administ) — */
.sx-inner__content .sx-staff{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;}
.sx-inner__content .sx-staff__item{display:flex;align-items:flex-start;gap:20px;margin:0;padding:20px 0;
  border-bottom:1px solid var(--sx-card-border);}
.sx-inner__content .sx-staff__item:first-child{padding-top:0;}
/* Если файла нет, браузер пишет в рамке alt — прячем, рамка остаётся плашкой. */
.sx-inner__content .sx-staff__photo{flex:none;width:96px;height:120px;margin:0;object-fit:cover;border-radius:16px;
  background:var(--sx-page-bg);font-size:0;color:transparent;}
.sx-inner__content .sx-staff--admins .sx-staff__photo{width:120px;height:150px;}
.sx-staff__body{min-width:0;}
.sx-inner__content .sx-staff__link{display:flex;flex-direction:column;gap:4px;color:var(--sx-ink);text-decoration:none;}
.sx-staff__name{font-weight:500;font-size:20px;line-height:1.3;letter-spacing:-.4px;transition:color .15s ease;}
.sx-staff__link:hover .sx-staff__name{color:var(--sx-blue);}
.sx-staff__position{font-size:16px;line-height:1.4;letter-spacing:-.16px;color:var(--sx-ink-soft);}
.sx-inner__content .sx-staff__text{margin-top:8px;font-size:16px;line-height:1.5;color:var(--sx-ink-soft);}
.sx-inner__content .sx-staff__text > :last-child{margin-bottom:0;}
.sx-inner__content .sx-staff__phone{margin:8px 0 0;font-size:16px;line-height:1.4;}

/* — Фотогалерея (шаблон gallery): ссылки-миниатюры подряд, у картинки width="150" и style="margin:9px" — */
/* hospitals/detail.php выводит перед вкладкой «&nbsp;&nbsp;», а миниатюры идут через перевод строки:
   текст сдвигал первый ряд и давал щели. Кроме миниатюр, на этой вкладке текста нет. */
.sx-inner__content:has(> a.gallery){font-size:0;line-height:0;}
.sx-inner__content a.gallery{display:inline-block;vertical-align:top;margin:0 12px 12px 0;
  border-radius:16px;overflow:hidden;background:var(--sx-page-bg);}
.sx-inner__content a.gallery img{width:180px;height:135px;margin:0!important;object-fit:cover;border-radius:0;
  transition:transform .2s ease;}
.sx-inner__content a.gallery:hover img{transform:scale(1.04);}

/* — Отзывы (шаблон reviews): таблица контактов с иконками, затем список отзывов — */
.sx-inner__content .section table{width:auto;margin:0 0 32px;border:0;font-size:inherit;}
.sx-inner__content .section :where(td,th){padding:4px 12px 4px 0;border:0;vertical-align:middle;background:none;}
.sx-inner__content .section img{display:inline-block;margin:0;border-radius:0;}

/* — Карточка подразделения (шаблон catalog.element/hospitals): баннер в тексте,
     контакты, карта и отзыв в колонке — */
.sx-inner__content .hospital-banner{margin:24px 0 0;}
.sx-inner__content .hospital-banner img{width:100%;height:auto;margin:0;border-radius:20px;}

.sx-side-contacts{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;}
.sx-side-map{display:block;border-radius:24px;overflow:hidden;background:var(--sx-page-bg);}
.sx-side-map img{width:100%;height:auto;}

.sx-side-review{padding:20px 24px;border-radius:24px;background:var(--sx-page-bg);
  font-size:15px;line-height:1.5;color:var(--sx-ink);}
.sx-side-review__title{margin:0 0 8px;font-weight:500;font-size:18px;line-height:1.3;letter-spacing:-.36px;}
.sx-side-review__text{color:var(--sx-ink-soft);overflow-wrap:break-word;}
.sx-side-review__text :where(p){margin:0 0 8px;}
.sx-side-review__text :where(a){color:var(--sx-blue);text-decoration:underline;text-underline-offset:3px;}
.sx-side-review__author{margin-top:8px;font-weight:500;}
.sx-side-review__more{display:inline-block;margin-top:12px;color:var(--sx-blue);text-decoration:underline;text-underline-offset:3px;}
/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА — раскрывающийся список (шаблон меню tree).

   Страница /hospitals/: больница — карточка, стрелка справа раскрывает
   её отделения. Раскрывает js/parts/30-tree.js.
   ============================================================ */

/* hospitals/index.php выводит «&nbsp;&nbsp;» перед списком и пустые .row-end и <br>
   после — в december2018 это были отступы. Текст страницы правит контент-менеджер,
   поэтому гасим их здесь: голый текст — нулевым шрифтом, элементы — скрываем.
   Абзацы, которые появятся в тексте, получают размер обратно. */
.sx-inner__content:has(> .sx-tree){font-size:0;line-height:0;}
.sx-inner__content:has(> .sx-tree) > *{font-size:18px;line-height:1.6;}
.sx-inner__content:has(> .sx-tree) > :is(.row-end,br){display:none;}

.sx-inner__content .sx-tree__list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;}
.sx-inner__content .sx-tree__item{margin:0;}

/* — Первый уровень: карточка — */
.sx-tree > .sx-tree__list > .sx-tree__item{border-radius:24px;background:var(--sx-page-bg);}
.sx-tree__row{display:flex;align-items:center;gap:16px;min-height:72px;padding:12px 16px 12px 24px;}
.sx-tree__item--group > .sx-tree__row{cursor:pointer;}
.sx-inner__content .sx-tree__link{flex:1 1 auto;min-width:0;padding:6px 0;
  font-weight:500;font-size:20px;line-height:1.3;letter-spacing:-.4px;color:var(--sx-ink);text-decoration:none;
  transition:color .15s ease;}
.sx-inner__content .sx-tree__link:hover{color:var(--sx-blue);}

.sx-tree__toggle{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:50%;background:#fff;color:var(--sx-ink);transition:background-color .15s ease,color .15s ease;}
.sx-tree__row:hover .sx-tree__toggle{color:var(--sx-blue);}
.sx-tree__toggle:focus-visible{outline:2px solid var(--sx-blue);outline-offset:2px;}
.sx-tree__chev{width:14px;height:14px;background-color:currentColor;transition:transform .2s ease;
  -webkit-mask:url(/local/assets/sx/icons/chevron-down.svg) center/contain no-repeat;
          mask:url(/local/assets/sx/icons/chevron-down.svg) center/contain no-repeat;}
.sx-tree__item.is-open > .sx-tree__row .sx-tree__toggle{background:var(--sx-blue);color:#fff;}
.sx-tree__item.is-open > .sx-tree__row .sx-tree__chev{transform:rotate(180deg);}

/* — Вложенный уровень: белая подложка внутри карточки, пункты через разделитель — */
.sx-tree__sub{margin:0 8px 8px;padding:4px 20px;border-radius:18px;background:#fff;}
.sx-tree__sub[hidden]{display:none;}
.sx-inner__content .sx-tree__list.sx-tree__list--sub{gap:0;}
.sx-tree__list--sub > .sx-tree__item + .sx-tree__item{border-top:1px solid var(--sx-card-border);}
.sx-tree__list--sub .sx-tree__row{min-height:0;padding:0;}
.sx-inner__content .sx-tree__list--sub .sx-tree__link{padding:13px 0;
  font-weight:400;font-size:17px;line-height:1.4;letter-spacing:-.2px;}
/* Третий уровень (меню допускает MAX_LEVEL 3): тот же список со сдвигом. */
.sx-tree__list--sub .sx-tree__sub{margin:0 0 12px;padding:0 0 0 16px;border-radius:0;}
.sx-tree__list--sub .sx-tree__toggle{width:36px;height:36px;background:var(--sx-page-bg);}
/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА — контакты.

   /contacts/: разметка прямо в contacts/index.php, её ведёт контент-менеджер
   на проде — поэтому только CSS. Разделы — div.section с заголовком h2.a
   и таблицей: строка «иконка | подпись», под ней «пусто | значение».
   Каждый раздел — карточка, строки таблицы — пара подпись/значение.
   Заголовок h2.a внутри .section есть только на этой странице.
   ============================================================ */

.sx-inner__content > .section:has(> h2.a){margin:0 0 20px;padding:28px 32px;border-radius:24px;background:var(--sx-page-bg);}
.sx-inner__content > .section:has(> h2.a) > h2.a{margin:0 0 16px;font-weight:500;font-size:24px;line-height:1.25;letter-spacing:-.6px;color:var(--sx-ink);}
.sx-inner__content > .section:has(> h2.a) > br{display:none;}
.sx-inner__content > div[align="center"]:empty{display:none;}

.sx-inner__content > .section:has(> h2.a) table{width:100%;margin:0;font-size:17px;line-height:1.4;}
.sx-inner__content > .section:has(> h2.a) :where(td,th){padding:0;vertical-align:top;}
/* Первая колонка — иконка раздела 33×33. */
.sx-inner__content > .section:has(> h2.a) td:first-child{width:48px;}
.sx-inner__content > .section:has(> h2.a) td img{display:block;width:33px;height:33px;margin:0;border-radius:0;}
/* Строка с иконкой — подпись, следующая — значение; между парами воздух. */
.sx-inner__content > .section:has(> h2.a) tr:has(img) + tr td{padding-bottom:16px;}
.sx-inner__content > .section:has(> h2.a) tr:has(img) td{padding-top:4px;}
.sx-inner__content > .section:has(> h2.a) tr:has(img) b{font-weight:400;font-size:15px;color:var(--sx-ink-soft);}
.sx-inner__content > .section:has(> h2.a) tr:not(:has(img)) b{font-weight:500;}
.sx-inner__content > .section:has(> h2.a) tr:last-child td{padding-bottom:0;}
.sx-inner__content > .section:has(> h2.a) tr:not(:has(img)) td > br{display:none;}
.sx-inner__content > .section:has(> h2.a) a{color:var(--sx-blue);text-decoration:underline;text-underline-offset:3px;}
/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА — новости: список и новость.

   /news/ и /news/{код}/ (шаблон bitrix:news .default в local/templates/sx).
   Карточка в списке — по мотивам «Новостей и событий» главной: фото,
   дата, заголовок, анонс. Пагинация — .sx-pager (шаблон visual), см. 19-staff.css.
   Правила перебивают типографику текста .sx-page (h2, p, img) — поэтому с
   префиксом .sx-inner__content.
   ============================================================ */

/* — RSS: в december2018 значок справа над списком — */
.sx-inner__content .sx-news-rss{display:flex;justify-content:flex-end;margin:0 0 8px;}
.sx-inner__content .sx-news-rss a{padding:4px 10px;border-radius:8px;background:var(--sx-tab-gray);
  font-family:var(--sx-font-mono);font-weight:500;font-size:13px;line-height:1.3;letter-spacing:.6px;
  color:var(--sx-ink-soft);text-decoration:none;transition:color .15s ease;}
.sx-inner__content .sx-news-rss a:hover{color:var(--sx-blue);}

/* — Список — */
.sx-newslist{display:flex;flex-direction:column;}
.sx-newsrow{display:grid;grid-template-columns:264px minmax(0,1fr);gap:28px;align-items:start;padding:28px 0;
  border-top:1px solid var(--sx-card-border);}
.sx-newslist > .sx-newsrow:first-of-type{border-top:0;padding-top:0;}
.sx-newsrow--text{grid-template-columns:minmax(0,1fr);}
.sx-newsrow__media{display:block;aspect-ratio:520/340;overflow:hidden;border-radius:20px;background:var(--sx-page-bg);}
.sx-inner__content .sx-newsrow__img{width:100%;height:100%;margin:0;object-fit:cover;border-radius:0;transition:transform .3s ease;}
.sx-newsrow__media:hover .sx-newsrow__img{transform:scale(1.04);}
.sx-newsrow__body{min-width:0;}
.sx-inner__content .sx-newsrow__date{margin:0 0 8px;font-size:15px;line-height:1.3;letter-spacing:-.15px;color:#94a3b8;}
.sx-inner__content .sx-newsrow__title{margin:0;font-weight:500;font-size:22px;line-height:1.35;letter-spacing:-.44px;}
.sx-inner__content .sx-newsrow__link{color:var(--sx-ink);text-decoration:none;transition:color .15s ease;}
.sx-inner__content .sx-newsrow__link:hover{color:var(--sx-blue);}
.sx-inner__content .sx-newsrow__text{margin:10px 0 0;font-size:16px;line-height:1.5;letter-spacing:-.16px;color:var(--sx-ink-soft);}

/* — Пагинация visual: подпись «Новости 1 - 10 из 703» и «…» — ссылка на середину пропуска — */
.sx-newslist > .sx-pager{margin:40px 0 0;}
.sx-inner__content .sx-pager__range{flex-basis:100%;margin:0 0 4px;font-size:15px;line-height:1.3;color:var(--sx-ink-soft);}
.sx-pager__num--jump{letter-spacing:0;}

/* — Новость — */
.sx-inner__content .sx-newsdetail__date{display:inline-block;margin:0 0 24px;padding:4px 10px;border-radius:8px;
  background:var(--sx-tab-gray);font-size:15px;line-height:1.3;color:var(--sx-ink-soft);}
.sx-inner__content .sx-newsdetail__picture{display:block;width:auto;max-width:100%;height:auto;margin:0 0 32px;border-radius:24px;}
.sx-newsdetail__text::after{content:"";display:table;clear:both;}
.sx-inner__content .sx-newsdetail__text > :first-child{margin-top:0;}
/* Картинки из старого редактора с align — в обтекании, но с отступом от текста (hspace браузер
   не учитывает, когда отступы заданы в CSS). */
.sx-inner__content .sx-newsdetail__text img[align="left"]{float:left;margin:4px 24px 16px 0;}
.sx-inner__content .sx-newsdetail__text img[align="right"]{float:right;margin:4px 0 16px 24px;}
.sx-inner__content .sx-newsdetail__text iframe{max-width:100%;border:0;border-radius:16px;}
.sx-inner__content .sx-newsdetail__props{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:32px 0 0;}
.sx-inner__content .sx-newsdetail__props dd{margin:0;}

.sx-inner__content .sx-news-back{margin:48px 0 0;}
.sx-inner__content .sx-news-back__link{display:inline-flex;align-items:center;gap:12px;
  font-size:16px;line-height:1.3;color:var(--sx-blue);text-decoration:none;}
.sx-news-back__link .sx-etc svg{transform:scaleX(-1);}
.sx-news-back__link:hover .sx-etc{background:#4c7dff;color:#fff;}
/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА — комплексные программы.

   /kompleksnye-programmy/ и /kompleksnye-programmy/parazitology/: разметка
   прямо в index.php разделов, её ведут на проде — только CSS. Раздел —
   div.section: таблица «картинка | h2» заголовком и ссылки на программы
   p.cwd > a.cwda. Такие же кнопки a.cwda стоят в статьях программ
   справочника («Сохранить программу …») — оформление общее.
   ============================================================ */

/* — Кнопки-ссылки a.cwda. В тексте страницы у них свой <style> (синяя плашка, зелёная подсветка) —
     он стоит после стилей шаблона, поэтому селектор здесь сильнее: a.cwda.cwda. — */
.sx-inner__content a.cwda.cwda{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;
  border:1px solid var(--sx-card-border);border-radius:12px;background:#fff;
  font-size:16px;line-height:1.3;letter-spacing:-.16px;color:var(--sx-ink);text-decoration:none;
  transition:border-color .15s ease,color .15s ease;}
.sx-inner__content a.cwda.cwda:hover{border-color:var(--sx-blue);background:#fff;color:var(--sx-blue);}
/* Программы в разделе — плашками в строку, а не столбиком. */
.sx-inner__content .section p.cwd{display:inline-block;margin:0 8px 10px 0;}

/* — Разделы страницы программ — */
.sx-inner__content > .section:has(p.cwd),
.sx-inner__content > .section:has(> table h2){margin:0 0 40px;}
/* Заголовок раздела — таблица «картинка | h2»: картинка меньше, заголовок рядом. */
.sx-inner__content > .section > table:has(h2){margin:0 0 16px;}
.sx-inner__content > .section > table:has(h2) :where(td){padding:0 16px 0 0;vertical-align:middle;}
.sx-inner__content > .section > table:has(h2) td img{width:64px;height:64px;margin:0;border-radius:0;}
.sx-inner__content > .section > table:has(h2) td > br{display:none;}
/* В клетке заголовка «Для детей» перед h2 стоит &nbsp; — строка текста сдвигала заголовок вниз от картинки. */
.sx-inner__content > .section > table:has(h2) td:has(> h2){font-size:0;line-height:0;}
.sx-inner__content > .section > table:has(h2) h2{margin:0;font-size:28px;line-height:1.2;letter-spacing:-.8px;}
/* Второй заголовок в том же разделе (паразитология после программ для взрослых) — с отступом сверху. */
.sx-inner__content > .section > table:has(h2):not(:first-child){margin-top:32px;}
.sx-inner__content > .section + .section:has(> table h2){margin-top:32px;}
/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА — отзывы.

   /reviews/ и вкладка «Отзывы» отделения (шаблон catalog.section reviews
   в local/templates/sx). Контакты для обращений — карточка сверху,
   отзывы — карточки как на главной, только имя и текст.
   ============================================================ */

/* — Контакты — */
.sx-reviews-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0 0 40px;
  padding:24px;border-radius:24px;background:var(--sx-page-bg);}
.sx-reviews-contacts__row{display:flex;align-items:flex-start;gap:14px;min-width:0;}
/* Ссылка на сведения о контролирующих организациях длинная — отдельной строкой во всю ширину. */
.sx-reviews-contacts__row:last-child{grid-column:1 / -1;align-items:center;}
.sx-inner__content .sx-reviews-contacts__icon{flex:none;width:33px;height:33px;margin:2px 0 0;border-radius:0;}
.sx-reviews-contacts__body{min-width:0;}
.sx-inner__content .sx-reviews-contacts__label{margin:0 0 4px;font-size:15px;line-height:1.35;color:var(--sx-ink-soft);}
.sx-inner__content .sx-reviews-contacts__value{font-weight:500;font-size:17px;line-height:1.35;color:var(--sx-ink);overflow-wrap:anywhere;}
.sx-inner__content a.sx-reviews-contacts__value{color:var(--sx-blue);text-decoration:underline;text-underline-offset:3px;}
/* Телефон — ссылка для звонка, но выглядит номером, как раньше. */
.sx-inner__content a.sx-reviews-contacts__value--tel{color:var(--sx-ink);text-decoration:none;}
.sx-inner__content a.sx-reviews-contacts__value--tel:hover{color:var(--sx-blue);}
.sx-reviews-list + .sx-pager{margin-top:40px;}

/* — Отзывы — */
.sx-reviews-list{display:flex;flex-direction:column;gap:16px;}
.sx-inner__content .sx-review{padding:24px 28px;border:1px solid var(--sx-card-border);border-radius:24px;background:#fff;}
.sx-inner__content .sx-review__name{margin:0 0 12px;font-weight:500;font-size:20px;line-height:1.35;letter-spacing:-.4px;color:var(--sx-ink);}
.sx-inner__content .sx-review__text{font-size:17px;line-height:1.55;color:var(--sx-ink);overflow-wrap:break-word;}
.sx-inner__content .sx-review__text > :last-child{margin-bottom:0;}
/* Пункты без списка из текстов отзывов — с отступом, как в списке. */
.sx-inner__content .sx-review__text > li{margin:0 0 4px 22px;}
/* Тексты из редактора кончаются двумя <br> — лишняя пустота внизу карточки. */
.sx-inner__content .sx-review__text > br:last-child,
.sx-inner__content .sx-review__text > br:nth-last-child(2):has(+ br){display:none;}
/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА — списки сотрудников и постраничная навигация.

   /expert/ и /admins/ (шаблон catalog.section spec_thumb). Карточка — .sx-doc
   из общего бандла, как в «Наших специалистах» на главной и в поиске врачей;
   здесь сетка, заглушка без фото и поправки против типографики текста .sx-page.
   Пагинация — шаблон system.pagenavigation round, вид — как у поиска.
   ============================================================ */

/* — Сетка карточек — */
.sx-staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(264px,1fr));gap:32px 24px;margin:32px 0;}
.sx-staff-grid .sx-doc__inner{width:auto;}
/* Должность в старом списке выводилась целиком, а бывает и в 485 знаков. Поэтому, в отличие от
   главной, карточка растёт под текст: фото остаётся той же высоты сверху, плашка с именем
   тянется вниз, карточки одного ряда выравниваются по самой высокой. Маску со срезанным углом
   кладём только на верх карточки, ниже — прямоугольник, низ скругляет border-radius. */
.sx-staff-grid .sx-doc__inner{display:flex;flex-direction:column;height:100%;min-height:390px;border-radius:16px;
  -webkit-mask:url(/local/assets/sx/icons/doc-card-mask-tr.svg) top/100% 390px no-repeat,
               linear-gradient(#000,#000) bottom/100% calc(100% - 48px) no-repeat;
          mask:url(/local/assets/sx/icons/doc-card-mask-tr.svg) top/100% 390px no-repeat,
               linear-gradient(#000,#000) bottom/100% calc(100% - 48px) no-repeat;}
.sx-inner__content .sx-staff-grid .sx-doc__photo,
.sx-staff-grid .sx-staff-nophoto{bottom:auto;height:390px;}
.sx-staff-grid .sx-doc__name{position:relative;left:auto;right:auto;bottom:auto;flex:1 0 auto;
  height:auto;min-height:143px;margin:239px 8px 8px;}
.sx-staff-grid :is(.sx-doc__fio,.sx-doc__spec){display:block;-webkit-line-clamp:unset;overflow:visible;}
/* Колонка текста красит голые img и p (13-page.css, 10-content.css) — карточке это не нужно. */
.sx-inner__content .sx-doc__photo{height:100%;margin:0;border-radius:0;}
.sx-inner__content .sx-doc__name-text p{margin:0;}

/* Сотрудник без фото: в december2018 — серая картинка no_photo.png, здесь фон карточки и силуэт. */
.sx-staff-nophoto{position:absolute;inset:0;background:#e9eef5;}
.sx-staff-nophoto::before{content:"";position:absolute;left:50%;top:30%;width:96px;height:96px;
  transform:translate(-50%,-50%);background-color:#b3bfd3;
  -webkit-mask:url(/local/assets/sx-inner/icons/doctor-placeholder.svg) center/contain no-repeat;
          mask:url(/local/assets/sx-inner/icons/doctor-placeholder.svg) center/contain no-repeat;}

.sx-staff-desc{margin:0 0 24px;}

/* — Постраничная навигация — */
/* Номера — моноширинным: цифры одной ширины не прыгают при переходе между страницами. */
.sx-pager{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:32px 0;}
.sx-inner__content .sx-pager__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;}
.sx-inner__content .sx-pager__list > li{margin:0;}
.sx-pager__num{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 12px;
  border:1px solid transparent;border-radius:8px;color:#4c7dff;
  font-family:var(--sx-font-mono);font-size:20px;line-height:1;letter-spacing:-.6px;
  transition:background-color .15s ease,border-color .15s ease;}
a.sx-pager__num:hover{border-color:#4c7dff;}
.sx-pager__num.is-current{background:#4c7dff;color:#fff;}
.sx-pager__gap{min-width:24px;text-align:center;color:#6b7280;font-family:var(--sx-font-mono);}
.sx-pager__step{display:inline-flex;border-radius:8px;}
.sx-pager__step .sx-etc{width:48px;height:48px;transition:background-color .15s ease,color .15s ease;}
a.sx-pager__step:hover .sx-etc{background:#4c7dff;color:#fff;}
.sx-pager__step--prev .sx-etc svg{transform:scaleX(-1);}
/* На первой и последней странице стрелка остаётся на месте, но неактивна — ряд не скачет. */
.sx-pager__step.is-disabled .sx-etc{border-color:var(--sx-card-border);color:#b3bfd3;}
.sx-pager__all{margin-left:auto;padding:12px 0;
  font-family:var(--sx-font-mono);font-weight:500;font-size:15px;line-height:1.3;letter-spacing:.6px;text-transform:uppercase;
  color:var(--sx-blue);text-decoration:none;}
.sx-pager__all:hover{color:#4c7dff;text-decoration:underline;text-underline-offset:4px;}
/* ============================================================
   ВНУТРЕННЯЯ СТРАНИЦА — справочник заболеваний.

   /treatments/: фильтр (catalog.filter flat_treatments) и список
   (catalog.section list_treatments); /treatments/{код}/ — статья
   (catalog treatments, catalog.element .default). Пагинация — .sx-pager.
   Правила перебивают типографику .sx-page — поэтому с .sx-inner__content.
   ============================================================ */

/* — Подсказка над фильтром из treatments/index.php: две колонки .col4 старого шаблона — */
.sx-inner__content > .col4{margin:0 0 12px;font-size:16px;line-height:1.5;color:var(--sx-ink-soft);}
.sx-inner__content > .col4 p{margin:0;}
.sx-inner__content > .col4 p[align="center"]{text-align:left;}
.sx-inner__content > .col4 p[align="center"] > br:first-child{display:none;}
.sx-inner__content > .row:empty,
.sx-inner__content > .row:not(:has(*)){display:none;}

/* — Фильтр — */
.sx-tfilter{margin:24px 0 32px;padding:24px;border-radius:24px;background:var(--sx-page-bg);}
.sx-tfilter__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.sx-tfilter__field{display:flex;flex-direction:column;gap:8px;min-width:0;}
.sx-tfilter__label{font-size:15px;line-height:1.3;letter-spacing:-.15px;color:var(--sx-ink-soft);}
.sx-tfilter__input{width:100%;height:52px;padding:0 16px;border:1px solid var(--sx-card-border);border-radius:12px;background:#fff;
  font:inherit;font-size:17px;color:var(--sx-ink);transition:border-color .15s ease;}
.sx-tfilter__input:focus{outline:none;border-color:var(--sx-blue);}
.sx-tfilter__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:20px;}
.sx-tfilter__submit{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 28px;border-radius:12px;
  background:var(--sx-blue);color:#fff;
  font-family:var(--sx-font-mono);font-weight:500;font-size:15px;letter-spacing:.6px;text-transform:uppercase;
  transition:background-color .15s ease;}
.sx-tfilter__submit:hover{background:#4c7dff;}
.sx-tfilter__reset{padding:8px 0;color:var(--sx-blue);font:inherit;font-size:16px;text-decoration:underline;text-underline-offset:4px;}
.sx-tfilter__reset:hover{color:#4c7dff;}

/* — Список — */
.sx-inner__content > .list_h > br:first-child{display:none;}
.sx-inner__content .sx-tlist__items{margin:0;padding:0;list-style:none;}
.sx-inner__content .sx-tlist__item{margin:0;padding:18px 0;border-top:1px solid var(--sx-card-border);}
.sx-inner__content .sx-tlist__item:first-child{border-top:0;}
.sx-inner__content .sx-tlist__name{font-weight:500;font-size:20px;line-height:1.35;letter-spacing:-.4px;color:var(--sx-ink);
  text-decoration:none;transition:color .15s ease;}
.sx-inner__content .sx-tlist__name:hover{color:var(--sx-blue);}
.sx-inner__content .sx-tlist__path{margin:6px 0 0;font-size:15px;color:var(--sx-ink-soft);}
.sx-tlist__prop{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:10px;}
.sx-tlist__prop-name{font-size:14px;line-height:1.4;color:#94a3b8;}
.sx-inner__content .sx-tlist__values{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0;padding:0;list-style:none;}
.sx-inner__content .sx-tlist__value{margin:0;font-size:15px;line-height:1.35;}
.sx-inner__content .sx-tlist__value a{display:inline-block;padding:4px 10px;border-radius:8px;background:var(--sx-tab-gray);
  color:var(--sx-ink-soft);text-decoration:none;transition:color .15s ease;}
.sx-inner__content .sx-tlist__value a:hover{color:var(--sx-blue);}
.sx-inner__content .sx-tlist__empty{margin:24px 0;padding:20px 24px;border-radius:16px;background:var(--sx-page-bg);
  font-size:17px;color:var(--sx-ink-soft);}

/* — Статья — */
.sx-inner__content .sx-treatment__props{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:0 0 24px;}
.sx-inner__content .sx-treatment__props dd{margin:0;font-weight:500;}
.sx-inner__content .sx-treatment__picture{display:block;width:auto;max-width:100%;height:auto;margin:0 0 32px;border-radius:24px;}
.sx-treatment__text::after{content:"";display:table;clear:both;}
.sx-inner__content .sx-treatment__text > :first-child{margin-top:0;}
/* Лендинги справочника («Телемедицина», акции) собраны из блоков div.section — между ними воздух. */
.sx-inner__content .sx-treatment__text > .section + .section{margin-top:32px;}
.sx-inner__content .sx-treatment__text iframe{max-width:100%;border:0;border-radius:16px;}
.sx-inner__content .sx-treatment__photos img{margin:16px 0;}
.sx-inner__content .sx-treatment__back{margin:40px 0 0;}
/* ============================================================
   Внутренняя страница — адаптив. Точки переключения те же, что у главной,
   поиска и страницы клиники: 1599 / 1279 / 1023 / 767. Для блока
   «Наши больницы» — 768, как у .desktop-only / .mobile-only в december2018.

   Файл идёт ПОСЛЕ блочных (20- > 1X-), поэтому перебивает их правила.
   ============================================================ */

/* ---- Узкий десктоп: 1280–1599 --------------------------------------- */
@media (max-width:1599px){
  .sx-inner-hero__title{font-size:48px;letter-spacing:-1.9px;}
}

/* ---- Планшет и узкие окна: до 1279 ---------------------------------- */
@media (max-width:1279px){
  .sx-inner-hero{padding-top:24px;}
  .sx-inner-hero__body{padding:40px 24px 32px;}
  .sx-inner-hero__title{font-size:40px;line-height:1.1;letter-spacing:-1.6px;}
  .sx-inner{padding:48px 0 96px;}
  .sx-inner__wrap--side{grid-template-columns:minmax(0,1fr) 300px;column-gap:32px;}
}

/* ---- Планшет 768–1023 ------------------------------------------------ */
@media (max-width:1023px){
  .sx-crumbs__list{padding:11px 24px;font-size:15px;letter-spacing:-.3px;}

  /* Колонка разбирается на блоки. Меню и контакты — над текстом, как в december2018
     (там column-reverse). Отзыв, карта и баннеры — под текстом: длинный отзыв над
     сведениями подразделения мешал читать страницу. */
  .sx-inner__wrap--side{display:flex;flex-direction:column;align-items:stretch;}
  .sx-inner__wrap--side .sx-inner__side{display:contents;}
  .sx-inner__wrap--side .sx-side-menu{order:-2;margin-bottom:24px;}
  .sx-inner__wrap--side .sx-side-card{order:-1;margin-bottom:24px;}
  .sx-inner__wrap--side :is(.sx-side-extra,.sx-side-banners){order:1;margin-top:24px;}

  /* Меню сворачивается под кнопку, если скрипт на месте (is-collapsible). */
  .sx-side-menu.is-collapsible{padding:0;}
  .sx-side-menu.is-collapsible .sx-side-menu__toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;
    width:100%;padding:16px 20px;border-radius:24px;
    font-family:var(--sx-font-mono);font-weight:500;font-size:15px;line-height:1.3;letter-spacing:.6px;
    text-transform:uppercase;color:var(--sx-ink);text-align:left;}
  .sx-side-menu__chev{flex:none;width:12px;height:12px;background-color:currentColor;transition:transform .2s ease;
    -webkit-mask:url(/local/assets/sx/icons/chevron-down.svg) center/contain no-repeat;
            mask:url(/local/assets/sx/icons/chevron-down.svg) center/contain no-repeat;}
  .sx-side-menu.is-open .sx-side-menu__chev{transform:rotate(180deg);}
  .sx-side-menu.is-collapsible .sx-side-menu__list{display:none;padding:0 16px 16px;}
  .sx-side-menu.is-collapsible.is-open .sx-side-menu__list{display:flex;}
}

/* ---- Телефон: до 767 ------------------------------------------------- */
@media (max-width:767px){
  .sx-inner-top{border-radius:0 0 24px 24px;}
  .sx-inner-hero{padding-top:16px;}
  .sx-inner-hero__card{border-radius:20px;}
  .sx-crumbs__list{padding:8px 16px;font-size:13px;}
  .sx-inner-hero__body{padding:24px 16px;}
  .sx-inner-hero__title{font-size:28px;line-height:1.15;letter-spacing:-1.1px;}
  .sx-inner{padding:32px 0 64px;}
  /* Таблица-раскладка (без рамки): клетки друг под другом, иначе текст сжимается в столбик. */
  .sx-inner__content :is(table:not([border]),table[border="0"]) :is(tbody,tr,td,th){display:block;width:auto!important;}
  .sx-inner__content :is(table:not([border]),table[border="0"]) :is(td,th):empty{display:none;}
  .sx-inner-hosp{margin-top:48px;}

  /* Вкладки отделения: фото сотрудников меньше, миниатюры галереи по две в ряд. */
  .sx-inner__content .sx-staff__item{gap:16px;padding:16px 0;}
  .sx-inner__content .sx-staff__photo,
  .sx-inner__content .sx-staff--admins .sx-staff__photo{width:72px;height:90px;border-radius:12px;}
  .sx-staff__name{font-size:18px;letter-spacing:-.36px;}
  .sx-inner__content a.gallery{width:calc(50% - 6px);margin:0 0 12px;}
  .sx-inner__content a.gallery:nth-of-type(odd){margin-right:12px;}
  .sx-inner__content a.gallery img{width:100%;height:auto;aspect-ratio:4/3;}

  /* Раскрывающийся список (/hospitals/): карточки плотнее. */
  .sx-inner__content .sx-tree > .sx-tree__list{gap:8px;}
  .sx-tree > .sx-tree__list > .sx-tree__item{border-radius:20px;}
  .sx-tree > .sx-tree__list > .sx-tree__item > .sx-tree__row{gap:12px;min-height:60px;padding:8px 10px 8px 16px;}
  .sx-inner__content .sx-tree__link{font-size:17px;letter-spacing:-.3px;}
  .sx-tree__toggle{width:40px;height:40px;}
  .sx-tree__sub{margin:0 6px 6px;padding:2px 14px;border-radius:14px;}
  .sx-inner__content .sx-tree__list--sub .sx-tree__link{padding:11px 0;font-size:15px;}

  /* Списки сотрудников: большие карточки по одной в ряд растянули бы страницу —
     строки с маленьким фото, как во вкладке «Врачи» поиска. */
  .sx-staff-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin:24px 0;}
  .sx-staff-grid .sx-doc{filter:none;}
  .sx-staff-grid .sx-doc__inner{display:flex;flex-direction:row;align-items:center;gap:16px;height:auto;min-height:0;padding:12px 60px 12px 12px;
    -webkit-mask:none;mask:none;background:#f8fafc;border:1px solid var(--sx-card-border);border-radius:16px;}
  .sx-inner__content .sx-staff-grid .sx-doc__photo,
  .sx-staff-grid .sx-staff-nophoto{position:relative;inset:auto;flex:none;width:64px;height:84px;border-radius:12px;}
  .sx-staff-grid .sx-staff-nophoto::before{top:50%;width:40px;height:40px;}
  .sx-staff-grid .sx-doc__name{position:static;height:auto;min-height:0;margin:0;padding:0;border:0;background:none;flex:1 1 auto;min-width:0;}
  .sx-staff-grid .sx-doc__fio{font-size:16px;letter-spacing:-.32px;}
  .sx-staff-grid .sx-doc__spec{font-size:14px;letter-spacing:-.28px;}
  .sx-staff-grid .sx-doc__more{position:absolute;right:12px;top:50%;transform:translateY(-50%);}

  /* Новости: фото над заголовком; картинки из текста — без обтекания, во всю ширину. */
  .sx-newsrow{grid-template-columns:minmax(0,1fr);gap:14px;padding:24px 0;}
  .sx-newsrow__media{border-radius:16px;}
  .sx-inner__content .sx-newsrow__title{font-size:18px;letter-spacing:-.36px;}
  .sx-inner__content .sx-newsrow__text{font-size:15px;}
  .sx-inner__content .sx-newsdetail__picture{margin-bottom:24px;border-radius:16px;}
  .sx-inner__content .sx-newsdetail__text img:is([align="left"],[align="right"]){float:none;display:block;margin:16px 0;}

  /* Программы: заголовок раздела — картинка и h2 в строку (общее правило таблиц-раскладок разбирает их в столбик). */
  .sx-inner__content > .section > table:has(h2){display:table;overflow:visible;}
  .sx-inner__content > .section > table:has(h2) :is(tbody,tr){display:revert;}
  .sx-inner__content > .section > table:has(h2) :is(td,th){display:table-cell;}
  .sx-inner__content > .section > table:has(h2) td:first-child{width:56px!important;}
  .sx-inner__content > .section > table:has(h2) td img{width:48px;height:48px;}
  .sx-inner__content > .section > table:has(h2) h2{font-size:22px;letter-spacing:-.5px;}
  .sx-inner__content a.cwda.cwda{min-height:40px;padding:8px 14px;font-size:15px;}

  /* Контакты: карточки разделов плотнее; клетки таблицы остаются в строку (иконка слева). */
  .sx-inner__content > .section:has(> h2.a){padding:20px;border-radius:20px;}
  .sx-inner__content > .section:has(> h2.a) > h2.a{font-size:20px;letter-spacing:-.4px;}
  .sx-inner__content > .section:has(> h2.a) table{display:table;overflow:visible;font-size:16px;}
  .sx-inner__content > .section:has(> h2.a) :is(tbody,tr){display:revert;}
  .sx-inner__content > .section:has(> h2.a) :is(td,th){display:table-cell;}
  /* Общее правило таблиц-раскладок выше ставит клеткам width:auto!important — возвращаем колонку иконок. */
  .sx-inner__content > .section:has(> h2.a) td:first-child{width:44px!important;min-width:44px;}

  /* Отзывы: карточки плотнее, контакты столбиком. */
  .sx-reviews-contacts{grid-template-columns:minmax(0,1fr);padding:20px;border-radius:20px;margin-bottom:24px;}
  .sx-inner__content .sx-review{padding:18px 20px;border-radius:20px;}
  .sx-inner__content .sx-review__name{font-size:18px;letter-spacing:-.36px;}
  .sx-inner__content .sx-review__text{font-size:16px;}

  /* Стрелки и номера в одну строку от 375px: «‹ 1 … 20 21 22 … 113 ›». */
  .sx-pager{gap:4px;margin:24px 0;}
  .sx-inner__content .sx-pager__list{flex-wrap:nowrap;gap:2px;}
  .sx-pager__num{min-width:34px;height:40px;padding:0 4px;font-size:15px;letter-spacing:-.6px;}
  .sx-pager__gap{min-width:12px;}
  .sx-pager__step .sx-etc{width:40px;height:40px;}
  .sx-pager__all{flex-basis:100%;margin-left:0;padding:8px 0 0;}
  /* У visual (/news/) номеров до одиннадцати — они переносятся между стрелками. */
  .sx-inner__content .sx-pager--visual .sx-pager__list{flex:1 1 0;min-width:0;flex-wrap:wrap;justify-content:center;row-gap:4px;}

  /* Широкая таблица листается внутри себя, а не растягивает страницу. */
  .sx-inner__content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

/* ---- «Наши больницы»: граница december2018 -------------------------- */
@media (max-width:768px){
  .sx-inner-hosp--desktop{display:none;}
  .sx-inner-hosp--mobile{display:block;}
}
