/* ============================================================
   yandoc — редизайн категорийного листинга (специальность+метро)
   Все классы с префиксом yd- чтобы не конфликтовать со style.css.
   Шрифт MuseoSansCyrl уже подключён темой глобально.
   ============================================================ */
:root{
  --yd-ground:#F7F8FA;--yd-surface:#FFFFFF;--yd-ink:#1E2632;--yd-mid:#3E4958;--yd-muted:#9397A2;
  --yd-border:#E6E6EB;--yd-border2:#D8D8E0;--yd-yellow:#FFCC00;--yd-red:#FC3F1D;--yd-link:#0070C0;--yd-link-ondark:#7FB8FF;--yd-star:#FD9F13;--yd-green:#1F9D57;
  --yd-fl:"MuseoSansCyrl300",Arial,sans-serif;--yd-fm:"MuseoSansCyrl500",Arial,sans-serif;--yd-fb:"MuseoSansCyrl700",Arial,sans-serif;
}
.yd-trust,.yd-trust *,.yd-controls,.yd-controls *,.yd-list,.yd-list *,.yd-band,.yd-band *,.yd-near,.yd-near *,.yd-allspec,.yd-allspec *,.yd-descr,.yd-descr *,.yd-within30,.yd-within30 *,.yd-found,.yd-found *,.yd-fmodal,.yd-fmodal *,.yd-overlay,.yd-mapbox,.yd-mapbox *{box-sizing:border-box;}

/* КОРЕНЬ «белой заливки между блоков»: у обёртки листинга в теме задан
   float:left без clearfix (style.css: .th-posts{width:100%;float:left;}).
   Из-за этого родитель не учитывал высоту плавающего блока — все блоки
   после ленты (яд-near и другие) схлопывались к началу ленты и растягивались,
   чтобы обтечь float, а их белый фон просвечивал в зазорах между карточками.
   Убираем float на страницах-листингах — обёртке незачем плавать. */
.th-posts.th-poststwo.th-postslist.taxonomy-speciality{float:none;}

/* ===== sticky-компактная шапка при скролле (только на страницах-листингах) =====
   Обычный размер — как на всём сайте; при скролле уменьшаем в ~1.5 раза и
   прячем «Найдётся врач»/выбор города, оставляя логотип, звонок и телефон.
   Цепочка, из-за которой sticky не работал (проверено через getComputedStyle
   по всем предкам #th-header):
   1) .th-wrapper (прямой родитель) — overflow:hidden в теме (style.css:582);
   2) главное: html,body{overflow-x:hidden} (style.css:45-46) — раз overflow-x
      не visible, overflow-y у html и body автоматически считается 'auto'
      (правило CSS). А проброс overflow с body на вьюпорт (обычное поведение
      страницы-скроллера) работает только если у САМОГО html overflow visible.
      У нас html тоже explicit overflow-x:hidden — проброса нет, html сам
      становится скролл-контейнером, и sticky внутри него не залипает.
   Возвращаем html overflow visible (body с overflow-x:hidden не трогаем —
   это платформенное поведение подхватит вьюпорт и защита от горизонтального
   скролла сохранится). */
.th-wrapper{overflow:visible;}
html{overflow:visible;}
#th-header{position:sticky;top:0;z-index:600;}
#th-header .th-topbar{transition:padding .2s ease;}
#th-header.yd-compact .th-topbar{padding:8px 0;}
#th-header.yd-compact .th-logo img{width:119px;height:30px;transition:width .2s,height .2s;}
#th-header.yd-compact .find_doctor,
#th-header.yd-compact .city_select{display:none;}
#th-header.yd-compact .head_phone{margin-left:20px;}
#th-header.yd-compact .head_phone strong{font-size:15px;}
#th-header.yd-compact .head_callback{font-size:11px;}

/* строка доверия (#1) */
.yd-trust{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;background:var(--yd-surface);border:1px solid var(--yd-border);border-radius:12px;padding:13px 18px;margin:16px 0;}
.yd-trust .t{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--yd-mid);font-family:var(--yd-fm);}
.yd-trust .t b{font-family:var(--yd-fb);color:var(--yd-ink);font-variant-numeric:tabular-nums;}
.yd-trust .t.verified b{color:var(--yd-green);}
.yd-trust .chk{width:17px;height:17px;flex:none;border-radius:50%;background:var(--yd-green);position:relative;}
.yd-trust .chk::after{content:"";position:absolute;left:5px;top:3.5px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg);}
.yd-trust .upd{margin-left:auto;font-family:var(--yd-fl);font-size:12.5px;color:var(--yd-muted);}
@media(max-width:640px){.yd-trust .upd{margin-left:0;width:100%;}}

/* панель управления (#2): сортировка + фильтры + карта.
   Раньше чипы сортировки и кнопки фильтров/карты были в двух отдельных
   div-обёртках (.yd-sortset/.yd-rightset), которые на мобильном "распаковывали"
   через display:contents, чтобы всё скроллилось одной лентой. Оказалось,
   display:contents не меняет реальное родительское отношение в DOM
   (chip.parentElement всё равно оставался .yd-sortset), и на части
   тач-устройств лента с чипами двигалась отдельно от кнопок. Убрали обёртки
   из разметки совсем — теперь label/чипы/кнопки правда прямые дети
   .yd-controls, без всякого промежуточного слоя. */
.yd-controls{display:flex;align-items:center;gap:10px;margin:18px 0 28px;flex-wrap:wrap;}
.yd-sort-lab{font-family:var(--yd-fl);font-size:13px;color:var(--yd-muted);margin-right:2px;}
.yd-chip{border:1px solid var(--yd-border2);background:var(--yd-surface);color:var(--yd-mid);border-radius:999px;padding:8px 15px;font-size:14px;font-family:var(--yd-fm);transition:.15s;text-decoration:none;display:inline-block;line-height:1.2;}
.yd-chip:hover{border-color:var(--yd-muted);color:var(--yd-ink);text-decoration:none;}
.yd-chip.on{background:var(--yd-border2);border-color:var(--yd-border2);color:var(--yd-ink);}
.yd-chip .ar{font-size:11px;opacity:.7;margin-left:5px;}
#yd-open-filters{margin-left:auto;}
.yd-ctrlbtn{display:inline-flex;align-items:center;gap:9px;border:1.5px solid var(--yd-border2);background:var(--yd-surface);color:var(--yd-ink);border-radius:11px;padding:9px 16px;font-family:var(--yd-fm);font-size:14.5px;transition:.15s;cursor:pointer;}
.yd-ctrlbtn:hover{border-color:var(--yd-muted);}
.yd-ctrlbtn svg{width:18px;height:18px;}
.yd-ctrlbtn .badge{background:var(--yd-red);color:#fff;font-family:var(--yd-fb);font-size:11px;border-radius:999px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;}
.yd-ctrlbtn.map{background:var(--yd-ink);color:#fff;border-color:var(--yd-ink);}
.yd-ctrlbtn.map:hover{background:#2b3a4a;}

/* карта */
.yd-mapbox{display:none;margin:16px 0;height:420px;border-radius:16px;overflow:hidden;position:relative;border:1px solid var(--yd-border);}
.yd-mapbox.open{display:block;}
.yd-mapbox #yd-map{width:100%;height:100%;}

/* ---- список и карточка ---- */
.yd-list{display:flex;flex-direction:column;gap:14px;clear:both;}
.yd-card{position:relative;background:var(--yd-surface);border:1px solid var(--yd-border);border-radius:16px;padding:20px;display:grid;grid-template-columns:104px 1fr 300px;grid-template-areas:"photo titles book" "photo main book";gap:22px;transition:box-shadow .18s,border-color .18s;}
.yd-card:hover{box-shadow:0 6px 24px rgba(30,38,50,.08);border-color:var(--yd-border2);}
.yd-card.top{border-color:#FFE49A;box-shadow:0 0 0 1px #FFE49A;}
.yd-c-photo{grid-area:photo;}
.yd-c-titles{grid-area:titles;min-width:0;}
.yd-c-main{grid-area:main;}
.yd-c-book{grid-area:book;}
.yd-c-photo{display:flex;flex-direction:column;align-items:center;gap:10px;}
.yd-c-photo a{display:block;}
/* круглые фото (как в макете); object-fit:contain — показывает фото целиком
   без обрезки. Пробовали cover со сдвигом кадра вверх (center 20%) — снимало
   обрезку макушки, но начинало резать подбородок. Contain не обрезает ничего
   ни сверху, ни снизу, ценой возможных лёгких полей, если фото не строго
   квадратное — поэтому фон полей всегда белый (не серый фон страницы) и
   обводка, чтобы кружок не сливался с серым фоном страницы вокруг. */
.yd-c-photo img{width:96px;height:96px;border-radius:50%;object-fit:contain;background:var(--yd-surface);border:1px solid var(--yd-border);}
.yd-mini-badges{display:flex;flex-direction:column;gap:5px;width:100%;}
.yd-mb{font-family:var(--yd-fm);font-size:11px;line-height:1.25;color:var(--yd-mid);background:var(--yd-ground);border:1px solid var(--yd-border);border-radius:7px;padding:4px 7px;text-align:center;}
.yd-c-main{min-width:0;}
.yd-c-name{font-family:var(--yd-fb);font-size:19px;line-height:1.2;letter-spacing:-.01em;}
.yd-c-name a{color:var(--yd-ink);text-decoration:none;}
.yd-c-name a:hover{color:var(--yd-link);}
.yd-c-specs{margin-top:5px;font-family:var(--yd-fl);font-size:14px;color:var(--yd-mid);}
/* специальность в карточке — не похоже на ссылку (было цвета yd-link) */
.yd-c-specs a{color:var(--yd-ink);}
.yd-c-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:9px;font-size:13.5px;color:var(--yd-mid);font-family:var(--yd-fm);}
.yd-c-meta .dt{color:var(--yd-ink);font-family:var(--yd-fb);}
.yd-c-rate{display:flex;align-items:center;gap:9px;margin-top:12px;flex-wrap:wrap;}
.yd-stars{position:relative;display:inline-block;font-size:17px;line-height:1;letter-spacing:2px;font-family:Arial,sans-serif;}
.yd-stars .bg{color:#E2E5EA;}
.yd-stars .fg{position:absolute;left:0;top:0;color:var(--yd-star);overflow:hidden;white-space:nowrap;}
.yd-c-rate .score{font-family:var(--yd-fb);font-size:15px;color:var(--yd-ink);}
.yd-c-rate .rc{font-size:13.5px;color:var(--yd-muted);font-family:var(--yd-fm);}
.yd-c-rate .rec{font-size:13px;color:var(--yd-green);font-family:var(--yd-fm);}

/* превью отзыва (#5) */
.yd-review{position:relative;margin-top:13px;background:var(--yd-ground);border-radius:12px;padding:12px 14px 12px 16px;border:1px solid var(--yd-border);}
.yd-review::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;background:var(--yd-star);border-radius:3px;}
.yd-review .txt{font-family:var(--yd-fl);font-size:13.5px;color:var(--yd-mid);line-height:1.45;}
.yd-review .m{margin-top:7px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--yd-muted);flex-wrap:wrap;font-family:var(--yd-fm);}
.yd-review .m .who{color:var(--yd-mid);}
.yd-review .m .vf{display:inline-flex;align-items:center;gap:4px;color:var(--yd-green);}
/* "ещё N →" — раньше падало на глобальный цвет темы (бирюзовый #4bc2d5,
   нигде больше не встречается), теперь как «Показать номер» */
.yd-review .m a{margin-left:auto;font-size:11.5px;color:var(--yd-link);}

/* клиника + метро */
.yd-c-clinic{margin-top:12px;font-size:13.5px;color:var(--yd-mid);display:flex;flex-direction:column;gap:6px;font-family:var(--yd-fm);}
.yd-c-clinic .cl{display:flex;flex-wrap:wrap;gap:3px 10px;align-items:baseline;}
.yd-c-clinic .name{font-family:var(--yd-fm);color:var(--yd-ink);}
.yd-c-clinic .addr{color:var(--yd-muted);font-family:var(--yd-fl);font-size:13px;}
.yd-c-clinic .stations{display:flex;flex-wrap:wrap;gap:4px 14px;}
.yd-c-clinic .st{display:inline-flex;align-items:center;gap:6px;font-size:13px;}
.yd-c-clinic .st .dot{width:9px;height:9px;border-radius:50%;flex:none;}

/* колонка записи */
.yd-c-book{display:flex;flex-direction:column;gap:9px;border-left:1px solid var(--yd-border);padding-left:22px;}
.yd-price{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;}
.yd-price .now{font-family:var(--yd-fb);font-size:24px;color:var(--yd-ink);font-variant-numeric:tabular-nums;}
.yd-price .old{font-family:var(--yd-fl);font-size:15px;color:var(--yd-muted);text-decoration:line-through;}
.yd-price-note{font-family:var(--yd-fl);font-size:12px;color:var(--yd-muted);margin-top:-4px;}
.yd-btn-book{background:var(--yd-yellow);color:#1E2632;border:none;border-radius:10px;padding:14px 16px;font-family:var(--yd-fb);font-size:15px;transition:.15s;cursor:pointer;text-align:center;display:block;}
.yd-btn-book:hover{background:#F2C200;}
.yd-book-alt{font-family:var(--yd-fl);font-size:12.5px;color:var(--yd-muted);text-align:center;}
/* телефон записи — частично скрыт, полностью показывается по клику (data-full/data-tel — см. yandoc-listing.js) */
.yd-phone-block{margin-top:10px;padding-top:12px;border-top:1px dashed var(--yd-border);}
.yd-phone-title{font-family:var(--yd-fl);font-size:11.5px;color:var(--yd-muted);text-align:center;margin-bottom:6px;}
.yd-book-phone{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;padding:0;width:100%;text-align:center;cursor:pointer;text-decoration:none;}
.yd-phone-num{font-family:var(--yd-fb);font-size:16px;color:var(--yd-ink);letter-spacing:.2px;}
.yd-phone-cta{font-family:var(--yd-fl);font-size:11.5px;color:var(--yd-link);}
.yd-book-phone.yd-revealed .yd-phone-cta{display:none;}

.yd-card.top{padding-top:38px;}
.yd-topbadge{position:absolute;top:-14px;left:20px;background:var(--yd-star);color:#3A2400;font-family:var(--yd-fb);font-size:12px;padding:4px 11px;border-radius:8px;display:flex;align-items:center;gap:6px;box-shadow:0 3px 8px rgba(253,159,19,.3);z-index:2;white-space:nowrap;}
.yd-topbadge::before{content:"★";font-size:12px;}

@media(max-width:860px){
  .yd-card{grid-template-columns:84px 1fr;grid-template-areas:"photo titles" "photo main" "book book";}
  .yd-c-book{border-left:none;border-top:1px solid var(--yd-border);padding-left:0;padding-top:16px;}
}
@media(max-width:440px){
  /* блок доверия («N врачей принимают…») занимает много места
     перед первым врачом — на телефоне убираем совсем */
  .yd-trust{display:none;}

  /* «На карте» — в начале строки (видна сразу); «Фильтры» — в конце,
     как было изначально. «На карте» — белая кнопка (не чёрная), «Фильтры»
     остаётся просто иконкой. */
  .yd-controls{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;}
  .yd-controls::-webkit-scrollbar{display:none;}
  .yd-sort-lab,.yd-chip{flex:0 0 auto;}
  .yd-ctrlbtn{padding:8px 12px;flex:0 0 auto;}
  .yd-ctrlbtn.map{order:-1;background:var(--yd-surface);border-color:var(--yd-border2);color:var(--yd-ink);}
  .yd-ctrlbtn.map svg path{stroke:#1E2632;}
  /* на тач-устройствах :hover срабатывает от касания и «залипает» при
     скролле строки — без этого override кнопка темнела (наследовала
     тёмный :hover-стиль десктопа, а текст/иконка оставались тёмными
     из override выше — получалось «чёрная кнопка с чёрным текстом») */
  .yd-ctrlbtn.map:hover,.yd-ctrlbtn.map:focus,.yd-ctrlbtn.map:active{
    background:var(--yd-surface);border-color:var(--yd-border2);color:var(--yd-ink);
  }
  .yd-ctrlbtn.map:hover svg path,.yd-ctrlbtn.map:focus svg path,.yd-ctrlbtn.map:active svg path{stroke:#1E2632;}
  #yd-open-filters{padding:8px;order:1;}
  #yd-open-filters .lbl{display:none;}
  .yd-ctrlbtn svg{width:17px;height:17px;}

  /* Фото прежнего размера, рядом с именем+специальностью (оба центрируются
     по высоте друг друга — раньше центровка шла по всей строке карточки,
     включая бейдж «выезд на дом», из-за чего у части врачей съезжало).
     Остальной текст (стаж, рейтинг, отзыв, клиника) — на всю ширину блока. */
  .yd-card{
    grid-template-columns:96px 1fr;
    grid-template-areas:"photo titles" "main main" "book book";
    gap:12px 14px;padding:16px;
  }
  .yd-c-photo{align-self:center;}
  .yd-c-titles{align-self:center;}

  /* «Запись по телефону» + номер/«Показать номер» — в одну строку */
  .yd-phone-block{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;}
  .yd-phone-title{margin-bottom:0;text-align:left;flex:0 0 auto;}
  .yd-book-phone{flex-direction:row;width:auto;text-align:left;gap:6px;flex:0 0 auto;}

  /* «Записаться на приём» — заметно крупнее текст на телефоне */
  .yd-btn-book{font-size:18px;padding:16px;}

  /* Все номера телефонов на странице — синие и подчёркнутые, чтобы было
     видно, что по ним можно нажать (номер в карточке врача, номер в блоке
     «Не нашли то, что искали» — там фон тёмный, поэтому цвет светлее). */
  .yd-phone-num{color:var(--yd-link);text-decoration:underline;}
  .yd-found .fb-phone{color:var(--yd-link-ondark);text-decoration:underline;}
}

/* блок «что говорят пациенты» (#6) */
.yd-band{margin-top:32px;}
.yd-band h2{font-size:22px;letter-spacing:-.01em;font-family:var(--yd-fb);color:var(--yd-ink);}
.yd-band .lead{font-family:var(--yd-fl);color:var(--yd-mid);margin:6px 0 0;font-size:14.5px;max-width:78ch;}
.yd-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;}
@media(max-width:820px){.yd-quotes{grid-template-columns:1fr;}}
.yd-quote{background:var(--yd-surface);border:1px solid var(--yd-border);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:11px;}
.yd-quote .yd-stars{font-size:14px;}
.yd-quote .qt{font-family:var(--yd-fl);font-size:14px;color:var(--yd-ink);line-height:1.5;}
.yd-quote .qf{margin-top:auto;font-size:12.5px;color:var(--yd-muted);display:flex;flex-direction:column;gap:2px;font-family:var(--yd-fm);}
.yd-quote .qf .doc{color:var(--yd-link);}
.yd-quote .qf .vf{color:var(--yd-green);}

/* перелинковка / каталоги */
.yd-near{margin-top:32px;background:var(--yd-surface);border:1px solid var(--yd-border);border-radius:16px;padding:22px 22px 24px;}
.yd-near h2{font-size:19px;margin-bottom:4px;font-family:var(--yd-fb);color:var(--yd-ink);}
.yd-near .col+.col{margin-top:18px;}
.yd-near .col h4{font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:var(--yd-muted);font-family:var(--yd-fb);margin-bottom:11px;}
.yd-tags{display:flex;flex-wrap:wrap;gap:9px;}
.yd-tags.clamp{position:relative;max-height:98px;overflow:hidden;transition:max-height .3s ease;}
.yd-tags.clamp.open{max-height:1400px;}
.yd-tags.clamp:not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42px;background:linear-gradient(rgba(255,255,255,0),var(--yd-surface));pointer-events:none;}
.yd-tag{border:1px solid var(--yd-border2);border-radius:999px;padding:8px 15px;font-size:14px;color:var(--yd-mid);font-family:var(--yd-fm);background:var(--yd-ground);text-decoration:none;}
.yd-tag:hover{border-color:var(--yd-muted);color:var(--yd-ink);text-decoration:none;}
.yd-tag .n{color:var(--yd-muted);font-family:var(--yd-fl);font-size:12.5px;margin-left:5px;font-variant-numeric:tabular-nums;}
.yd-expand{margin-top:13px;display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:var(--yd-link);font-family:var(--yd-fm);font-size:14px;padding:0;cursor:pointer;}
.yd-expand:hover{text-decoration:underline;}
.yd-expand .chev{width:12px;height:8px;transition:transform .2s;}
.yd-expand.open .chev{transform:rotate(180deg);}
.yd-expand .lbl-less{display:none;}
.yd-expand.open .lbl-more{display:none;}
.yd-expand.open .lbl-less{display:inline;}

/* «все специализации» A-Z */
.yd-allspec{margin-top:32px;background:var(--yd-surface);border:1px solid var(--yd-border);border-radius:16px;padding:24px 26px;}
.yd-allspec h2{font-size:20px;margin-bottom:14px;font-family:var(--yd-fb);color:var(--yd-ink);}
.yd-azcols{columns:4 190px;column-gap:28px;}
.yd-azcols.clamp{position:relative;max-height:300px;overflow:hidden;transition:max-height .3s ease;}
.yd-azcols.clamp.open{max-height:4000px;}
.yd-azcols.clamp:not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;background:linear-gradient(rgba(255,255,255,0),var(--yd-surface));pointer-events:none;}

/* обёртка-сворачивание для готового вывода (шорткод a-z-listing и т.п.) */
.yd-clip{position:relative;max-height:360px;overflow:hidden;transition:max-height .35s ease;}
.yd-clip.open{max-height:8000px;}
.yd-clip:not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(rgba(247,248,250,0),var(--yd-ground));pointer-events:none;}

/* описание специальности */
.yd-descr{margin-top:32px;background:var(--yd-surface);border:1px solid var(--yd-border);border-radius:16px;padding:24px 26px;}
.yd-descr h2{font-size:20px;margin-bottom:12px;font-family:var(--yd-fb);color:var(--yd-ink);}
.yd-descr p{font-family:var(--yd-fl);font-size:14.5px;color:var(--yd-mid);line-height:1.62;margin:0 0 12px;max-width:82ch;}
.yd-descr p:last-child{margin-bottom:0;}
.yd-descr b{font-family:var(--yd-fm);color:var(--yd-ink);}

/* блок «30 минут» — заголовок */
.yd-within30{margin-top:38px;clear:both;float:none;display:block;}
.yd-within30 h2{font-size:21px;letter-spacing:-.01em;margin-bottom:6px;font-family:var(--yd-fb);color:var(--yd-ink);}
.yd-within30 .w30-lead{font-family:var(--yd-fl);color:var(--yd-mid);font-size:14.5px;margin:0 0 16px;max-width:78ch;}

/* «не нашли что искали» — CTA */
.yd-found{display:flex;align-items:center;gap:20px 28px;flex-wrap:wrap;margin-top:22px;background:var(--yd-ink);border-radius:16px;padding:24px 28px;color:#fff;text-decoration:none;transition:box-shadow .18s;}
.yd-found:hover{text-decoration:none;box-shadow:0 8px 26px rgba(30,38,50,.22);}
.yd-found .fb-left h2{color:#fff;font-size:22px;letter-spacing:-.01em;font-family:var(--yd-fb);}
.yd-found .fb-left p{font-family:var(--yd-fl);color:#C6CCD4;margin:7px 0 0;font-size:14.5px;max-width:56ch;}
.yd-found .fb-phone{margin-left:auto;font-family:var(--yd-fb);font-size:28px;color:var(--yd-yellow);white-space:nowrap;font-variant-numeric:tabular-nums;}
@media(max-width:640px){.yd-found .fb-phone{margin-left:0;font-size:24px;}}

/* модалка фильтров */
.yd-overlay{display:none;position:fixed;inset:0;z-index:9998;background:rgba(20,26,34,.42);}
.yd-overlay.open{display:block;}
.yd-fmodal{position:fixed;z-index:9999;top:0;right:0;bottom:0;width:360px;max-width:92vw;background:var(--yd-surface);transform:translateX(100%);transition:transform .22s;display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(30,38,50,.2);}
.yd-fmodal.open{transform:translateX(0);}
.yd-fmodal .fm-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--yd-border);}
.yd-fmodal .fm-head h3{font-size:18px;font-family:var(--yd-fb);color:var(--yd-ink);margin:0;}
.yd-fmodal .fm-close{border:none;background:none;font-size:24px;color:var(--yd-muted);line-height:1;padding:4px;cursor:pointer;}
.yd-fmodal .fm-body{overflow:auto;padding:6px 20px 14px;flex:1;}
.yd-fgroup{padding:16px 0;border-bottom:1px solid var(--yd-border);}
.yd-fgroup h4{font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:var(--yd-muted);font-family:var(--yd-fb);margin:0 0 12px;}
.yd-fopt{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:14.5px;color:var(--yd-mid);font-family:var(--yd-fm);text-decoration:none;}
.yd-fopt::before{content:"";width:18px;height:18px;border:1.5px solid var(--yd-border2);border-radius:5px;flex:none;}
.yd-fopt:hover{color:var(--yd-ink);text-decoration:none;}
.yd-fopt.sel{color:var(--yd-ink);}
.yd-fopt.sel::before{background:var(--yd-ink);border-color:var(--yd-ink);}
.yd-freset{display:inline-block;margin-top:16px;font-family:var(--yd-fm);font-size:14px;color:var(--yd-link);}

/* старую панель сортировки заменяет .yd-controls (чипсы) — прячем на страницах со скриптом редизайна */
.sort_spec_left{display:none;}
/* захардкоженный блок-заглушка «последние отзывы» (фейковые повторяющиеся отзывы, чужой город/специальность) —
   его роль выполняет реальный блок .yd-band «Что говорят пациенты» */
.spec_sec_wrap3{display:none;}

/* ===== чистка старого верхнего блока (только на страницах-листингах) ===== */
.spec_main_sec h2,        /* старый общий H2 «Запишитесь на прием...» — есть H1 ниже */
.filter_block,            /* старая форма поиска — по решению скрываем на листинге */
.checkbox_wrap_mobile,    /* дубли чекбоксов дети/дом (моб) — есть модалка «Фильтры» */
.spec_sort_sec,           /* секция старых чекбоксов + старой сортировки — заменена панелью .yd-controls */
.map_button_block,        /* статичная карта-заглушка — дублирует кнопку «На карте» */
.discount_spec_block,     /* промо-баннер «Скидка» — на первом экране макета его нет вовсе */
.commission_spec_block{   /* промо-баннер «без комиссии» — аналогично */
    display:none !important;
}

/* подзаголовок под H1 (как в макете) */
.yd-h1-sub{font-family:var(--yd-fl);font-size:15px;color:var(--yd-mid);margin:6px 0 0;max-width:75ch;}

/* единый фон сверху донизу (в макете — без шва); у .change-breadcrumb был
   опечатанный инлайн background-color:transaprent, из-за чего браузер его
   игнорировал и просвечивал белый body на фоне серой секции ниже.
   H1 живёт в отдельном контейнере #th-main (вне .change-breadcrumb) — без
   явного фона он тоже показывал белый body, разрывая серую полосу надвое. */
.spec_main_sec,
.change-breadcrumb,
.change-breadcrumb .container,
#th-main,
#th-main .container{background:var(--yd-ground) !important;}

/* ширина контейнера контента (1110px) отличается от контейнера шапки (1194px,
   глобальный .container) — из-за этого шапка и текст/карточки ниже не совпадают
   по левому/правому краю. Выравниваем контент под ширину шапки. */
@media (min-width:1200px){
    .change-breadcrumb .container,
    .th-main .container,
    .spec_sec_wrap2 .container,
    .spec_main_sec .container{max-width:1194px !important;}
}

/* строка «Главная/Специальность • N врачей» — крошки и счётчик были разного
   кегля (22px/28px) и разного начертания (300 vs 500), из-за чего строка
   выглядела «вразнобой». Приводим оба к одному кеглю/начертанию/line-height
   и выравниваем по базовой линии (не по центру — так текст разной толщины
   визуально «прыгает» меньше). */
.change-breadcrumb .block.flex{align-items:baseline;gap:12px;}
.change-breadcrumb .item,
.change-breadcrumb .item a,
.change-breadcrumb{
    font-size:13px !important;
    line-height:20px !important;
    font-family:var(--yd-fl) !important;
    color:var(--yd-muted) !important;
}
/* в теме у .item задан отрицательный margin:0 -5px — слова стягивались
   вплотную к разделителю "/" между ними ("Главная/Гинекологи"). Убираем
   и даём каждой крошке симметричный отступ — так у "/" появляется воздух
   с обеих сторон ("Главная / Гинекологи"). */
.change-breadcrumb .item{margin:0 5px !important;}
.spec_kvo{
    font-size:13px !important;
    line-height:20px !important;
    font-family:var(--yd-fl) !important;
    color:var(--yd-muted) !important;
    margin:0 !important;
    padding-left:14px !important;
    display:inline-block;
    vertical-align:baseline;
    position:relative;
}
.spec_kvo::before{width:4px !important;height:4px !important;background:var(--yd-muted) !important;top:50% !important;}

/* ===== компактный верх (как в макете) — убираем большие пустые провалы ===== */
.spec_main_sec{padding:0 !important;margin:0 !important;}
.change-breadcrumb{padding:14px 0 0 !important;margin:0 !important;}
#th-main{padding:0 !important;margin:0 !important;}
#th-main .container{padding-top:0 !important;padding-bottom:0 !important;}
.main_spec_title_wrap{padding-bottom:0 !important;margin:6px 0 0 !important;}
.category-tax-title{margin:6px 0 2px !important;}
section.spec_sec_wrap2{padding-top:16px !important;}

/* ===== мобильная защита от горизонтального переполнения ===== */
@media(max-width:768px){
    html,body{overflow-x:hidden;}
    /* min-width:0 — чтобы flex-элементы не распирали родителя шире вьюпорта */
    .yd-controls,.yd-trust,.yd-card,.yd-c-titles,.yd-c-main,.yd-c-book,.yd-c-clinic,.yd-c-clinic .stations{min-width:0;max-width:100%;}
    .yd-c-name,.yd-c-specs,.yd-c-clinic,.yd-review .txt,.yd-c-meta{overflow-wrap:anywhere;word-break:break-word;}
}

@media print{.yd-controls,.yd-mapbox,.yd-found,.yd-overlay,.yd-fmodal{display:none!important;}}
