/* wave5: каталог — /specialists/ и страницы категорий */

/* Десктоп: минимальные исправления, не трогаем мобильную/планшетную волну.
 * Основная причина утроенной высоты /uslugi-krasoti/ (17952px против
 * 6171px в макете) — НЕ вёрстка карточки (она уже приведена к принятому
 * виду волной figma-redesign.css: кольцо, бейдж, line-clamp текста на 5
 * строк, grid 3 колонки с равными высотами). Причина — что в один список
 * рендерятся ВСЕ подходящие анкеты категории без пагинации (на «Услуги
 * красоты» их 74 → 25 строк по 3 карточки, это ~16135px из 17952px общей
 * высоты страницы, то есть ~90%). Контроллер `catalog/controller/product/
 * category.php` уже считает `$data['pagination']` и `$data['limits']`, но
 * `product/category.tpl` их нигде не выводит и просто печатает foreach по
 * всем `$products`. Это правка шаблона (category.tpl в защищённом списке
 * файлов этого захода) — не могу применить сама, см. отчёт координатору.
 * Ниже — то, что реально можно закрыть в рамках одного разрешённого файла:
 * 1) не даём случайным длинным именам («в 4 строки») раздувать всю строку
 *    грида ещё сильнее, чем нужно по макету (2 строки — с запасом хватает
 *    почти всем реальным анкетам, у кого больше — обрезаем троеточием);
 * 2) чиним реальный баг переполнения — вторая строка чипсов подкатегорий
 *    на корневом /specialists/ обрезается через overflow:hidden, заданный
 *    в figma-redesign.css с фиксированным min-height/overflow:hidden на
 *    карточке раздела (видно на «Услуги красоты»: «производство косметики,
 *    стилисты, имиджмейкеры, эпиляция» срезано по нижнему краю блока). */

@media (min-width: 1025px) {

  /* ---- Карточка специалиста в каталоге: ограничить рост от длинных имён ---- */
  .offers_list .item_inner .name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Сетка/паддинги карточки — Figma 763:29533: gap 20, card pad 16. */
  .offers_list {
    gap: 20px;
  }
  .offers_list .item_inner {
    padding: 16px;
  }
  .offers_list .item_inner .img {
    margin: 0 auto;
  }
  .offers_list .item_inner .discount {
    padding: 6px 10px;
    margin-bottom: 8px;
  }

  /* ---- Корень /specialists/: карточка раздела не должна обрезать вторую
     строку чипсов подкатегорий — реальный баг переполнения, а не решение
     про "лишний" контент. Все чипсы рабочие ссылки, ничего не прячем. ---- */
  .page_category .items-home-categories .home-category-item {
    overflow: visible;
    min-height: 150px;
    height: auto;
    padding-bottom: 26px;
  }
}

/* ── Пагинация каталога ───────────────────────────────────────────────────
   Элемента листания в макете Figma НЕТ: там карточки просто заканчиваются,
   дальше SEO-текст и футер. Вид собран по дизайн-системе макета (синий
   #0066B2, пилюли, Rubik), расхождение записано в GAPS.md на подтверждение. */
.cat_pagination{
	display:flex;justify-content:center;align-items:center;
	gap:8px;flex-wrap:wrap;
	margin:32px 0 8px;
}
.cat_pagination .pagination{
	display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0;
}
.cat_pagination .pagination li{margin:0}
.cat_pagination .pagination li a,
.cat_pagination .pagination li span{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:40px;height:40px;padding:0 12px;
	border:1px solid #E3E8EF;border-radius:999px;
	font-family:Rubik,sans-serif;font-size:15px;line-height:1;
	color:#0066B2;background:#fff;text-decoration:none;
	transition:background .15s,border-color .15s,color .15s;
}
.cat_pagination .pagination li a:hover{border-color:#0066B2;background:#F1F5FA}
.cat_pagination .pagination li.active span{
	background:#0066B2;border-color:#0066B2;color:#fff;font-weight:500;
}
/* ── Каталог: карточки .sp-card (category.tpl) ──────────────────────────
   Figma Card person Web 761:27931 (Каталог2 763:29533):
   380×760, pad 16, gap 16, corner 8; name 25/400; spec/desc 16/400. */
body[class*="product-category"] .page_category > .container,
body.product-search .page_search > .container {
  max-width: 1180px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}
@media (min-width: 1025px) {
  body[class*="product-category"] .offers_list ,
body.product-search .offers_list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px !important; /* 3×380 + 2×20 = 1180 */
    width: 100%;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    /* stretch: одна высота карточек в ряду, CTA прибит к низу */
    align-items: stretch;
  }
  body[class*="product-category"] .offers_list > .item ,
body.product-search .offers_list > .item {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important; /* legacy 10px pad shrinks card 380→360 */
    float: none !important;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100%;
    height: 100%;
  }
}
body[class*="product-category"] .offers_list .item_inner.sp-card,
body.product-search .offers_list .item_inner.sp-card,
body.product-map .offers_list .item_inner.sp-card {
  width: 100% !important;
  max-width: 380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 16px !important;
  border-radius: 8px !important;
  border: 1px solid #E8EDF5;
  background: #fff;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px !important; /* Figma Card person Web auto-layout gap 16 */
  box-sizing: border-box;
  min-height: 100% !important;
  height: 100% !important;
  flex: 1 1 auto !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-card__top,
body.product-search .offers_list .item_inner.sp-card .sp-card__top,
body.product-map .offers_list .item_inner.sp-card .sp-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 22px;
  order: 0;
  position: relative;
  z-index: 3;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .card-badge,
body.product-search .offers_list .item_inner.sp-card .card-badge,
body.product-map .offers_list .item_inner.sp-card .card-badge,
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-badge,
body.product-search .offers_list .item_inner.sp-card .sp-badge,
body.product-map .offers_list .item_inner.sp-card .sp-badge {
  background: #39C9A0 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 19px !important;
  padding: 4px 16px !important;
  border-radius: 20px !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  position: static !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .card-badge::before,
body.product-search .offers_list .item_inner.sp-card .card-badge::before,
body.product-map .offers_list .item_inner.sp-card .card-badge::before,
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-badge::before,
body.product-search .offers_list .item_inner.sp-card .sp-badge::before,
body.product-map .offers_list .item_inner.sp-card .sp-badge::before {
  content: none !important; /* точка — через <i>, не ✦ */
}
body[class*="product-category"] .offers_list .item_inner.sp-card .card-badge i,
body.product-search .offers_list .item_inner.sp-card .card-badge i,
body.product-map .offers_list .item_inner.sp-card .card-badge i,
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-badge i,
body.product-search .offers_list .item_inner.sp-card .sp-badge i,
body.product-map .offers_list .item_inner.sp-card .sp-badge i {
  width: 6px; height: 6px; border-radius: 50%; background: #fff; display: block;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-fav,
body.product-search .offers_list .item_inner.sp-card .sp-fav,
body.product-map .offers_list .item_inner.sp-card .sp-fav {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: 0;
  color: #5B6D9C;
  font-size: 16px;
  cursor: pointer;
  padding: 0;
  position: static !important;
  -webkit-appearance: none;
  appearance: none;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-fav .heart,
body.product-search .offers_list .item_inner.sp-card .sp-fav .heart,
body.product-map .offers_list .item_inner.sp-card .sp-fav .heart {
  width: 16px; height: 15px; fill: none; stroke: #5B6D9C; stroke-width: 2.2;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-fav:hover,
body.product-search .offers_list .item_inner.sp-card .sp-fav:hover,
body.product-map .offers_list .item_inner.sp-card .sp-fav:hover,
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-fav.active,
body.product-search .offers_list .item_inner.sp-card .sp-fav.active,
body.product-map .offers_list .item_inner.sp-card .sp-fav.active {
  color: #E2536B;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-fav:hover .heart,
body.product-search .offers_list .item_inner.sp-card .sp-fav:hover .heart,
body.product-map .offers_list .item_inner.sp-card .sp-fav:hover .heart,
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-fav.active .heart,
body.product-search .offers_list .item_inner.sp-card .sp-fav.active .heart,
body.product-map .offers_list .item_inner.sp-card .sp-fav.active .heart {
  fill: #E2536B;
  stroke: #E2536B;
}
/* ── Foto: same 290×290 SLOT for every card so name/spec/city share a Y.
   Free photo stays 200×200 (no ring) but is centered inside that slot.
   Pro: 270 photo + pro-ring.png in the same 290 frame. */
body[class*="product-category"] .offers_list .item_inner.sp-card .img,
body.product-search .offers_list .item_inner.sp-card .img,
body.product-map .offers_list .item_inner.sp-card .img,
body.product-search .offers_list .item_inner.sp-card .img {
  position: relative !important;
  display: block !important;
  width: 290px !important;
  max-width: 100% !important;
  height: 290px !important;
  min-height: 290px !important;
  margin: 0 auto !important;
  order: 1;
  padding: 0 !important;
  box-sizing: border-box;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  flex: 0 0 290px !important;
}
/* free: 200 circle centered in the 290 slot + soft shadow (no multi-arc) */
body[class*="product-category"] .offers_list .item_inner.sp-card:not(.sp-card--pro):not(.is-pro) .img > a:not(.js-add-wishlist),
body.product-search .offers_list .item_inner.sp-card:not(.sp-card--pro):not(.is-pro) .img > a:not(.js-add-wishlist),
body.product-map .offers_list .item_inner.sp-card:not(.sp-card--pro):not(.is-pro) .img > a:not(.js-add-wishlist),
body.product-search .offers_list .item_inner.sp-card:not(.sp-card--pro):not(.is-pro) .img > a:not(.js-add-wishlist) {
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 200px !important;
  height: 200px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  box-sizing: border-box !important;
  border-radius: 50% !important;
  background: #F1F5FA !important;
  background-image: none !important;
  overflow: hidden !important;
  box-shadow: 0 8px 28px rgba(16, 42, 95, 0.12) !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card:not(.sp-card--pro):not(.is-pro) .img > a:not(.js-add-wishlist) img,
body.product-search .offers_list .item_inner.sp-card:not(.sp-card--pro):not(.is-pro) .img > a:not(.js-add-wishlist) img,
body.product-map .offers_list .item_inner.sp-card:not(.sp-card--pro):not(.is-pro) .img > a:not(.js-add-wishlist) img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 50% !important;
  display: block !important;
  box-shadow: none !important;
}
/* pro: 290 frame, photo 270 centered, Figma multi-arc ring asset */
body[class*="product-category"] .offers_list .item_inner.sp-card.sp-card--pro .img,
body.product-search .offers_list .item_inner.sp-card.sp-card--pro .img,
body.product-map .offers_list .item_inner.sp-card.sp-card--pro .img,
body[class*="product-category"] .offers_list .item_inner.sp-card.is-pro .img,
body.product-search .offers_list .item_inner.sp-card.is-pro .img,
body.product-map .offers_list .item_inner.sp-card.is-pro .img {
  width: 290px !important;
  height: 290px !important;
  min-height: 290px;
  max-width: 100% !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card.sp-card--pro .img > a:not(.js-add-wishlist),
body.product-search .offers_list .item_inner.sp-card.sp-card--pro .img > a:not(.js-add-wishlist),
body.product-map .offers_list .item_inner.sp-card.sp-card--pro .img > a:not(.js-add-wishlist),
body[class*="product-category"] .offers_list .item_inner.sp-card.is-pro .img > a:not(.js-add-wishlist),
body.product-search .offers_list .item_inner.sp-card.is-pro .img > a:not(.js-add-wishlist),
body.product-map .offers_list .item_inner.sp-card.is-pro .img > a:not(.js-add-wishlist) {
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 270px !important;
  height: 270px !important;
  max-width: calc(100% - 20px) !important;
  max-height: calc(100% - 20px) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  box-sizing: border-box !important;
  border-radius: 50% !important;
  background: #F1F5FA !important;
  background-image: none !important;
  overflow: hidden !important;
  box-shadow: none !important;
  z-index: 1;
}
body[class*="product-category"] .offers_list .item_inner.sp-card.sp-card--pro .img::after,
body.product-search .offers_list .item_inner.sp-card.sp-card--pro .img::after,
body.product-map .offers_list .item_inner.sp-card.sp-card--pro .img::after,
body[class*="product-category"] .offers_list .item_inner.sp-card.is-pro .img::after,
body.product-search .offers_list .item_inner.sp-card.is-pro .img::after,
body.product-map .offers_list .item_inner.sp-card.is-pro .img::after {
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  z-index: 2;
  background: url("/_html/images/figma2/pro-ring.png") center / contain no-repeat !important;
  pointer-events: none !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card.sp-card--pro .img > a:not(.js-add-wishlist) img,
body.product-search .offers_list .item_inner.sp-card.sp-card--pro .img > a:not(.js-add-wishlist) img,
body.product-map .offers_list .item_inner.sp-card.sp-card--pro .img > a:not(.js-add-wishlist) img,
body[class*="product-category"] .offers_list .item_inner.sp-card.is-pro .img > a:not(.js-add-wishlist) img,
body.product-search .offers_list .item_inner.sp-card.is-pro .img > a:not(.js-add-wishlist) img,
body.product-map .offers_list .item_inner.sp-card.is-pro .img > a:not(.js-add-wishlist) img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 50% !important;
  display: block !important;
  box-shadow: none !important;
}
/* free: no ring overlay */
body[class*="product-category"] .offers_list .item_inner.sp-card:not(.sp-card--pro):not(.is-pro) .img::after,
body.product-search .offers_list .item_inner.sp-card:not(.sp-card--pro):not(.is-pro) .img::after,
body.product-map .offers_list .item_inner.sp-card:not(.sp-card--pro):not(.is-pro) .img::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .texts,
body.product-search .offers_list .item_inner.sp-card .texts,
body.product-map .offers_list .item_inner.sp-card .texts {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100%;
  max-width: 348px;
  text-align: center;
  padding: 0 !important;
  gap: 10px;
  order: 2;
  flex: 1 1 auto;
  min-height: 0;
}
/* Reset legacy flex-order on card children (name was order:3 → under specialty). */
body[class*="product-category"] .offers_list .item_inner.sp-card .texts > *,
body.product-search .offers_list .item_inner.sp-card .texts > *,
body.product-map .offers_list .item_inner.sp-card .texts > * {
  order: 0 !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .name,
body.product-search .offers_list .item_inner.sp-card .name,
body.product-map .offers_list .item_inner.sp-card .name,
body.product-search .offers_list .item_inner.sp-card .name,
body[class*="product-category"] .offers_list .item_inner.sp-card .name a,
body.product-search .offers_list .item_inner.sp-card .name a,
body.product-map .offers_list .item_inner.sp-card .name a,
body.product-search .offers_list .item_inner.sp-card .name a {
  font-size: 25px !important;
  line-height: 30px !important;
  font-weight: 400 !important;
  color: #0066B2 !important;
  text-align: center;
  text-decoration: none;
  margin: 0 !important;
  order: 0 !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  overflow: hidden !important;
  box-sizing: border-box;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .name a,
body.product-search .offers_list .item_inner.sp-card .name a,
body.product-map .offers_list .item_inner.sp-card .name a,
body.product-search .offers_list .item_inner.sp-card .name a {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-spec,
body.product-search .offers_list .item_inner.sp-card .sp-spec,
body.product-map .offers_list .item_inner.sp-card .sp-spec,
body.product-search .offers_list .item_inner.sp-card .sp-spec {
  font-size: 16px !important;
  line-height: 22px !important;
  font-weight: 400;
  color: #5B6D9C !important;
  margin: 0 !important;
  max-width: 279px;
  width: 100%;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  order: 0 !important;
  box-sizing: border-box;
}
/* City block: Figma Card person — short thin lines (NOT full-width border).
   Design: ~140px centered 1px #0066B2 under location; was full-width «криво».
   Beat gw18-card 84% bottom + this file's old border-top:100%. */
body[class*="product-category"] .offers_list .item_inner.sp-card .texts .location,
body.product-search .offers_list .item_inner.sp-card .texts .location,
body.product-map .offers_list .item_inner.sp-card .texts .location,
body[class*="product-category"] .offers_list .item_inner.item_inner .texts .location,
body.product-search .offers_list .item_inner.item_inner .texts .location,
body.product-map .offers_list .item_inner.item_inner .texts .location {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 4px auto 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  font-size: 16px !important;
  line-height: 22px !important;
  box-sizing: border-box;
  background: none !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  overflow: hidden !important;
  box-sizing: border-box;
}
/* Kill legacy dual rules from gw18 (82px top + 84% long bottom) */
body[class*="product-category"] .offers_list .item_inner.sp-card .texts .location::before,
body.product-search .offers_list .item_inner.sp-card .texts .location::before,
body.product-map .offers_list .item_inner.sp-card .texts .location::before,
body[class*="product-category"] .offers_list .item_inner.item_inner .texts .location::before,
body.product-search .offers_list .item_inner.item_inner .texts .location::before,
body.product-map .offers_list .item_inner.item_inner .texts .location::before {
  content: "" !important;
  position: static !important;
  display: block !important;
  width: 80px !important;
  max-width: 40% !important;
  height: 1px !important;
  background: #0066B2 !important;
  transform: none !important;
  left: auto !important;
  top: auto !important;
  opacity: 1 !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .texts .location::after,
body.product-search .offers_list .item_inner.sp-card .texts .location::after,
body.product-map .offers_list .item_inner.sp-card .texts .location::after,
body[class*="product-category"] .offers_list .item_inner.item_inner .texts .location::after,
body.product-search .offers_list .item_inner.item_inner .texts .location::after,
body.product-map .offers_list .item_inner.item_inner .texts .location::after {
  content: "" !important;
  position: static !important;
  display: block !important;
  width: 140px !important; /* Figma: short neat rule under city, not full card */
  max-width: 70% !important;
  height: 1px !important;
  background: #0066B2 !important;
  transform: none !important;
  left: auto !important;
  bottom: auto !important;
  opacity: 1 !important;
  border-radius: 0 !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .texts .location.location--empty::before,
body.product-search .offers_list .item_inner.sp-card .texts .location.location--empty::before,
body.product-map .offers_list .item_inner.sp-card .texts .location.location--empty::before,
body[class*="product-category"] .offers_list .item_inner.sp-card .texts .location.location--empty::after,
body.product-search .offers_list .item_inner.sp-card .texts .location.location--empty::after,
body.product-map .offers_list .item_inner.sp-card .texts .location.location--empty::after {
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .texts .location a,
body.product-search .offers_list .item_inner.sp-card .texts .location a,
body.product-map .offers_list .item_inner.sp-card .texts .location a {
  color: #0066B2 !important;
  text-decoration: none;
  display: -webkit-box !important;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 100%;
  white-space: normal;
  text-overflow: ellipsis;
  text-align: center;
  justify-content: center;
  order: 0;
  background: none !important;
  padding: 0 !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .texts .text,
body.product-search .offers_list .item_inner.sp-card .texts .text,
body.product-map .offers_list .item_inner.sp-card .texts .text {
  width: 100%;
  max-width: 348px;
  color: #6C737D !important;
  font-size: 16px !important;
  line-height: 22px !important;
  font-weight: 400;
  text-align: left !important;
  margin: 0 !important;
  display: block !important;
  overflow: hidden !important;
  height: 110px !important; /* 5 × 22 — короткий текст не сжимает карточку */
  min-height: 110px !important;
  max-height: 110px !important;
  flex: 0 0 110px;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .texts .reviews_stat,
body.product-search .offers_list .item_inner.sp-card .texts .reviews_stat,
body.product-map .offers_list .item_inner.sp-card .texts .reviews_stat,
body.product-search .offers_list .item_inner.sp-card .texts .reviews_stat {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 348px;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  gap: 8px;
  height: 22px !important;
  min-height: 22px !important;
  flex: 0 0 22px;
  overflow: hidden;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .sp-stat,
body.product-search .offers_list .item_inner.sp-card .sp-stat,
body.product-map .offers_list .item_inner.sp-card .sp-stat {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #5B6D9C !important;
  font-size: 16px !important;
  line-height: 22px;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .discount,
body.product-search .offers_list .item_inner.sp-card .discount,
body.product-map .offers_list .item_inner.sp-card .discount {
  display: none !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .texts .location a .sp-pin,
body.product-search .offers_list .item_inner.sp-card .texts .location a .sp-pin,
body.product-map .offers_list .item_inner.sp-card .texts .location a .sp-pin {
  display: inline-block;
  vertical-align: -2px;
  margin-right: 4px;
  flex: 0 0 auto;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap {
  order: 5;
  margin-top: auto !important;
  width: 100%;
  max-width: none;
  padding: 0 !important;
  /* Always two CTA rows so «Узнать больше» lines up; site btn is optional row 2. */
  min-height: 76px !important;
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 34px 34px;
  justify-items: stretch;
  gap: 8px !important;
  flex: 0 0 auto;
  align-content: start;
  align-self: stretch !important;
}
/* Figma: «Узнать больше» outline + ↗; «Перейти на сайт» solid. */
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--outline,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--outline,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--outline,
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--more,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--more,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--more {
  background: #FFFFFF !important;
  background-image: none !important;
  color: #0066B2 !important;
  border: 1px solid #0066B2 !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--more::after,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--more::after,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--more::after {
  content: "↗";
  margin-left: 6px;
  font-size: 14px;
  line-height: 1;
  color: inherit;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--outline:not(.btn--more)::after,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--outline:not(.btn--more)::after,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--outline:not(.btn--more)::after {
  content: none !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--outline:hover,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--outline:hover,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--outline:hover {
  background: #F3F8FC !important;
  color: #00538F !important;
  border-color: #00538F !important;
}
/* solid site CTA — Figma 701:19933 */
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site {
  background: linear-gradient(90deg, #2E437B 0%, #0066B2 100%) !important;
  color: #fff !important;
  border: 0 !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site::after,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site::after,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site::after {
  content: none !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site:hover,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site:hover,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site:hover {
  background: linear-gradient(90deg, #243660 0%, #00538F 100%) !important;
  color: #fff !important;
}
/* Figma 348×34 full-bleed width; kill theme `.contacts_wrap .btn {margin-left:auto}` hug */
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap > a.btn,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap > a.btn,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap > a.btn {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  border-radius: 6px !important;
  padding: 0 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  justify-self: stretch;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--more,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--more,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--more {
  grid-row: 1;
}
body[class*="product-category"] .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site,
body.product-search .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site,
body.product-map .offers_list .item_inner.sp-card .contacts_wrap > a.btn.btn--site {
  grid-row: 2;
}


/* ── Корень /specialists/: H1 «Каталог», AI поиск, фильтр-кнопка, chips (758:32986) ──
   Раньше здесь не было настоящего крупного H1 (SEO-фраза all_h1 сама выводилась
   как H1, но визуально как мелкий 15px подзаголовок) — контент не удаляем,
   выводим её отдельным подзаголовком под новым H1 «Каталог». */
body.product-category-all .cat_hero__h1{
	color:#fff; text-align:center; font-weight:300;
	font-size:48px; line-height:1.15; margin:10px auto 28px;
}
/* В макете 758:32986 под H1 «Каталог» SEO-подзаголовка нет — скрываем, текст оставляем в DOM для SEO. */
body.product-category-all .cat_hero__seo-sub{
	position:absolute !important; width:1px !important; height:1px !important;
	padding:0 !important; margin:-1px !important; overflow:hidden !important;
	clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;
}

/* Search bar — Figma compact group ~56–64px (beats figma-home 84px pad 16/12) */
body.product-category-all .cat_hero-form{
	height:auto !important;
	min-height:0 !important;
	padding:6px 8px !important;
	align-items:center !important;
	margin:22px auto 0 !important;
}
body.product-category-all .cat_hero-form .search-field{
	height:48px !important;
	font-size:18px !important;
}
body.product-category-all .cat_hero-form .search-field::placeholder{
	font-size:18px !important;
}
body.product-category-all .cat_hero-form .cat_hero-submit{
	height:48px !important;
	font-size:18px !important;
}

/* Кнопка-иконка фильтров — Figma filter btn ~40×48 r=4 */
body.product-category-all .cat_hero-form .cat_hero__settings{
	flex:0 0 auto; width:40px; height:48px; border-radius:4px;
	background:#EAF2FB; border:0; color:#0066B2;
	display:flex; align-items:center; justify-content:center; cursor:pointer;
}
body.product-category-all .cat_hero-form .cat_hero__settings:hover{ background:#DCEBFA; }

/* Filters row: Figma WEB hides pills until gear opens them.
   JS toggles .is-collapsed on #cat_hero_filters (first click ADDS class).
   Invert: default HIDDEN; .is-collapsed = SHOWN so gear still works. */
body.product-category-all .cat_hero-filters{
	display:none !important;
	flex-wrap:wrap; align-items:center; justify-content:flex-start;
	gap:10px 12px;
	max-width:980px; width:100%;
	margin:12px auto 0;
	min-height:40px;
}
body.product-category-all .cat_hero-filters.is-collapsed{
	display:flex !important;
}
body.product-category-all .cat_hero-filter-chip{
	display:inline-flex; align-items:center; height:32px;
	padding:0 16px; border-radius:9999px;
	background:#fff; border:0; cursor:pointer;
	color:#0066B2; font-size:16px; font-weight:400; line-height:21.6px;
	font-family:Rubik,system-ui,sans-serif;
	box-shadow:0 1px 3px rgba(0,15,55,.08);
}
body.product-category-all .cat_hero-filter-chip.is-active{
	box-shadow:0 0 0 1.5px #0066B2, 0 1px 3px rgba(0,15,55,.08);
}
body.product-category-all .cat_hero-filter-reset{
	margin-left:auto;
	background:none; border:0; cursor:pointer; padding:0 4px;
	color:#96A1BD; font-size:14px; font-weight:400; line-height:18.2px;
	font-family:Rubik,system-ui,sans-serif;
}
body.product-category-all .cat_hero-filter-reset:hover{ color:#fff; }

/* Плашка «AI поиск» — Figma 91×26 r=9999 stroke #FF6C1D text #0066B2 14/500
   After filters collapsed: sit tight under search (was 14 + filter ~52). */
body.product-category-all .cat_hero__ai-wrap{
	max-width:980px !important; margin:8px auto 0 !important; text-align:right;
}
body.product-category-all .cat_hero__ai{
	display:inline-flex; align-items:center; gap:6px;
	height:26px; padding:0 14px; box-sizing:border-box;
	border-radius:9999px;
	background:#fff; border:1px solid #FF6C1D; color:#0066B2;
	font-size:14px; font-weight:500; line-height:18.2px; cursor:pointer;
}
body.product-category-all .cat_hero__ai:hover{ background:#fff5ef; }

/* Популярные запросы: HINT 34h r=6 fill #FFF text #5B6D9C 16/400
   Figma 758:32994: frame 980, Title left, Button HINT row gap=16,
   primary axis start (левый край под search 980), wrap. */
body.product-category-all .cat_hero-popular{
	max-width:980px !important;
	width:100%;
	margin:16px auto 0 !important;
	text-align:left;
	box-sizing:border-box;
}
body.product-category-all .cat_hero .home_find-chips{
	display:flex !important;
	flex-wrap:wrap !important;
	justify-content:flex-start !important;
	align-items:center !important;
	align-content:flex-start;
	gap:16px !important;
	list-style:none !important;
	margin:0 !important;
	padding:0 !important;
	max-width:980px;
	width:100%;
	/* kill legacy grid from earlier rule */
	grid-template-columns:none !important;
}
body.product-category-all .cat_hero .home_find-chips li{
	margin:0 !important;
	padding:0 !important;
	float:none !important;
	width:auto !important;
	max-width:100%;
	list-style:none !important;
	flex:0 0 auto;
}
body.product-category-all .cat_hero .home_find-chips li a{
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	height:34px !important;
	min-height:34px;
	padding:0 16px !important;
	box-sizing:border-box;
	background:#fff !important;
	border:1px solid rgba(155,168,191,.45) !important;
	color:#5B6D9C !important;
	border-radius:6px !important;
	font-size:16px !important;
	font-weight:400 !important;
	line-height:21.6px !important;
	white-space:nowrap;
	text-decoration:none !important;
	text-align:center;
}
body.product-category-all .cat_hero .home_find-chips li a:hover{
	background:#fff !important;
	border-color:#0066B2 !important;
	color:#0066B2 !important;
}
@media (max-width:600px){
	body.product-category-all .cat_hero__h1{ font-size:30px; }
	/* Figma Mob: AI badge right under search (not centered) */
	body.product-category-all .cat_hero__ai-wrap{ text-align:right; margin-top:10px; }
	body.product-category-all .cat_hero-filters{ justify-content:center; }
	body.product-category-all .cat_hero-filter-reset{ margin-left:0; width:100%; text-align:center; }
	body.product-category-all .cat_hero .home_find-chips{
		gap:8px !important;
		justify-content:flex-start !important;
	}
	body.product-category-all .cat_hero .home_find-chips li a{
		height:auto !important;
		min-height:30px;
		padding:4px 10px !important;
		white-space:nowrap;
		font-size:13px !important;
		line-height:1.25 !important;
		text-align:center;
	}
	body.product-category-all .cat_hero-popular,
	body.product-category-all .cat_hero-popular-label{
		text-align:left !important;
	}
}

/* В макете 758:32986 кнопки «на карте» в hero каталога нет — прячем (карта остаётся по /map/). */
body.product-category-all .cat_hero-maplink,
body.product-category-all .cat_hero .from-the-blog{
	display:none !important;
}

/* «Популярные запросы» 18/400 #FFFFFF lh≈21.3 — Figma Title left of 980 frame */
body.product-category-all .cat_hero-popular-label{
	text-align:left;
	color:#FFFFFF;
	font-size:18px;
	font-weight:400;
	line-height:21.3px;
	margin:0 0 12px;
}

/* ── Master card Figma 758:32986: фото 280×253 + soft fade + body ──
   Было: background-image 280px 100% на всей карточке (растягивало/темнило
   CMS tmp*.jpg). Стало: отдельный .cat-master__pic + figma2/catNN.jpg. */
body.product-category-all .page_category .items-home-categories .home-category-item.cat-master{
	display:flex !important;
	flex-direction:row !important;
	align-items:stretch !important;
	/* content-height: 4-col dense ~253; sparse cats shrink (no hollow 253 shell) */
	min-height:0 !important;
	height:auto !important;
	padding:0 !important;
	margin:0 !important;
	background-image:none !important;
	background-color:transparent !important;
	background:linear-gradient(180deg,#FFFFFF 0%,#F1F3F5 100%) !important;
	border:0 !important;
	border-radius:6px !important;
	/* visible: allow extra subcat rows; clip only photo via .cat-master__pic */
	overflow:visible !important;
	box-shadow:0 5px 20px rgba(193,200,218,.35);
	position:relative;
}
/* kill white content ::after panel — body is real flex child now */
body.product-category-all .page_category .items-home-categories .home-category-item.cat-master::after{
	content:none !important;
	display:none !important;
}
body.product-category-all .cat-master__pic{
	flex:0 0 280px;
	width:280px;
	max-width:280px;
	/* full-bleed left photo band — stretch to card height (Figma flush) */
	height:auto;
	min-height:253px;
	max-height:none;
	align-self:stretch;
	position:relative;
	overflow:hidden;
	display:block;
	text-decoration:none;
	background:#E8EEF6;
	border-radius:6px 0 0 6px;
}
/* sparse: 1–2 subcats — shorter photo band, no empty white body */
body.product-category-all .cat-master:has(.children a:only-child) .cat-master__pic,
body.product-category-all .cat-master:has(.children a:first-child:nth-last-child(2)) .cat-master__pic{
	min-height:180px;
}
body.product-category-all .cat-master__pic img{
	display:block !important;
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	min-height:0 !important;
	object-fit:cover !important;
	/* keep subject left of soft edge baked into figma2 assets */
	object-position:25% center !important;
	border:0 !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
}
/* figma2/cat*.jpg already have soft white edge — only a light veil for CMS fallbacks.
   Was 72px solid white → double fade, photo «съедало». */
body.product-category-all .cat-master__pic::after{
	content:"";
	position:absolute;
	top:0; right:0; bottom:0;
	width:36px;
	background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 100%);
	pointer-events:none;
	z-index:1;
}
/* Figma Content: padT/B 16 only; card padR=24; Categories width ≈872 */
body.product-category-all .cat-master__body{
	flex:1 1 auto;
	min-width:0;
	padding:16px 24px 16px 4px;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	gap:12px;
	position:relative;
	z-index:2;
	min-height:0;
}
/* Title 20/400 + bottom border (Figma Border under title); gap 12 via body */
body.product-category-all .page_category .items-home-categories .cat-master .name{
	position:relative !important;
	z-index:2 !important;
	display:block !important;
	margin:0 !important;
	padding:0 0 12px !important;
	color:#0066B2 !important;
	font-size:20px !important;
	font-weight:400 !important;
	line-height:1.185 !important;
	border-bottom:1px solid #4CA8ED !important;
	background:none !important;
	text-shadow:none !important;
	text-transform:none !important;
}
body.product-category-all .page_category .items-home-categories .cat-master .children{
	position:relative !important;
	z-index:2 !important;
	flex:1 1 auto;
	margin:0 !important;
}
@media (max-width:1023px){
	body.product-category-all .cat-master__pic{
		flex-basis:200px;
		width:200px;
		max-width:200px;
		height:auto;
		min-height:200px;
		max-height:none;
		align-self:stretch;
	}
	body.product-category-all .cat-master__body{
		padding:16px 18px 16px 12px;
		min-height:0;
	}
}
/* Figma Mob/Tab (≤767): compact horizontal row (photo | title | chevron).
   Column stack was a desktop-banner overflow — not the mobile master-tile. */
@media (max-width:767px){
	body.product-category-all .page_category .items-home-categories .home-category-item.cat-master{
		flex-direction:row !important;
		align-items:stretch !important;
		min-height:110px !important;
		height:auto !important;
		padding:0 !important;
		overflow:hidden !important;
		border-radius:12px !important;
	}
	body.product-category-all .cat-master__pic{
		flex:0 0 42% !important;
		width:42% !important;
		max-width:42% !important;
		height:auto !important;
		min-height:110px !important;
		max-height:none !important;
		align-self:stretch !important;
		border-radius:12px 0 0 12px !important;
	}
	body.product-category-all .cat-master__body{
		min-height:0 !important;
		padding:10px 26px 10px 10px !important;
		display:flex !important;
		align-items:center !important;
		justify-content:flex-start !important;
	}
	body.product-category-all .cat-master__pic::after{
		top:0 !important; right:0 !important; bottom:0 !important; left:auto !important;
		width:20px !important; height:auto !important;
		background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.7) 100%) !important;
	}
	body.product-category-all .page_category .items-home-categories .cat-master .name{
		margin:0 !important;
		padding:0 !important;
		border-bottom:0 !important;
		font-size:13px !important;
		line-height:1.25 !important;
	}
	/* Subcategory chips: desktop-only pattern on root catalog */
	body.product-category-all .page_category .items-home-categories .home-category-item .children,
	body.product-category-all .page_category .items-home-categories .cat-master .children,
	body.product-category-all .page_category .items-home-categories .children{
		display:none !important;
	}
}

/* ── Корень /specialists/: заголовки + подкатегории с 40×40 иконками (Figma 758:32986) ──
   Иконки экспортированы из Card Catalog2 → Categories → Button web/Icon
   в /_html/images/figma/cat-icons/; контроллер матчит CMS-имя → PNG. */
.page_category .items-home-categories .home-category-item .name{
	text-transform:none !important;
}
/* Figma «Card catalog 3 Button web» (761:28096):
   Default = soft light-blue pill (icon+label #0066B2);
   Hover/pressed = solid #0066B2 fill + blue border + white text/icon.
   Was: plain text link, hover only darkened color → «нет синей кнопки». */
body.product-category-all .page_category .items-home-categories .children a,
body.product-category-all .page_category .items-home-categories .children a.cat-sub{
	display:inline-flex !important; align-items:center; gap:6px;
	flex:0 0 auto !important;
	width:auto !important;
	max-width:100%;
	min-height:40px;
	height:auto;
	padding:4px 14px 4px 6px !important;
	box-sizing:border-box;
	/* soft default pill (design #2 light chip) */
	background:rgba(0, 102, 178, 0.10) !important;
	border:1px solid rgba(0, 102, 178, 0.18) !important;
	border-radius:999px !important;
	color:#0066B2 !important;
	font-size:16px !important;
	font-weight:400 !important;
	line-height:20px !important;
	text-decoration:none !important;
	transition:background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
body.product-category-all .page_category .items-home-categories .children a:hover,
body.product-category-all .page_category .items-home-categories .children a.cat-sub:hover,
body.product-category-all .page_category .items-home-categories .children a:focus-visible,
body.product-category-all .page_category .items-home-categories .children a.cat-sub:focus-visible{
	/* solid blue button + blue outline + white label (ANTON hover) */
	background:#0066B2 !important;
	border-color:#0066B2 !important;
	color:#fff !important;
	text-decoration:none !important;
	box-shadow:0 2px 8px rgba(0, 60, 130, 0.22);
	opacity:1 !important;
}
body.product-category-all .page_category .items-home-categories .children a:hover .cat-sub__label,
body.product-category-all .page_category .items-home-categories .children a.cat-sub:hover .cat-sub__label,
body.product-category-all .page_category .items-home-categories .children a:focus-visible .cat-sub__label{
	color:#fff !important;
}
/* icon → white on blue fill */
body.product-category-all .page_category .items-home-categories .children a:hover .cat-sub__icon img,
body.product-category-all .page_category .items-home-categories .children a.cat-sub:hover .cat-sub__icon img,
body.product-category-all .page_category .items-home-categories .children a:focus-visible .cat-sub__icon img{
	filter:brightness(0) invert(1);
}
/* Desktop Figma Card Catalog2 → Categories:
   VERTICAL gap 14; each row HORIZONTAL gap 40; items content-sized (not 4 equal cols).
   Equal 4-col grid растягивал короткие «ЗОЖ»/«Танцы» и сжимал длинные. */
body.product-category-all .page_category .items-home-categories .children{
	display:flex !important;
	flex-wrap:wrap !important;
	align-content:flex-start !important;
	align-items:flex-start !important;
	justify-content:flex-start !important;
	gap:14px 40px !important;
	position:static !important;
	grid-template-columns:none !important;
}
@media (max-width:1023px){
	body.product-category-all .page_category .items-home-categories .children{
		gap:14px 24px !important;
	}
}
@media (max-width:767px){
	/* mobile master-tile hides children — keep rule inert if ever shown */
	body.product-category-all .page_category .items-home-categories .children{
		gap:12px 16px !important;
	}
}
body.product-category-all .page_category .items-home-categories .children .cat-sub__icon{
	flex:0 0 28px; width:28px; height:28px;
	display:inline-flex; align-items:center; justify-content:center;
}
body.product-category-all .page_category .items-home-categories .children .cat-sub__icon img{
	width:28px; height:28px; object-fit:contain; display:block;
	/* keep brand blue icons on soft pill; invert only on hover (above) */
	transition:filter .15s ease;
}
body.product-category-all .page_category .items-home-categories .children .cat-sub__label{
	font-size:16px; font-weight:400; line-height:20px;
	/* CMS names are lowercase — title-ish for multi-word labels */
	display:inline-block;
	text-transform:none;
	color:inherit;
}
body.product-category-all .page_category .items-home-categories .children .cat-sub__label::first-letter{
	text-transform:uppercase;
}

/* ── Реальный баг: basic additional_102024 задаёт .children{position:absolute}.
   Возвращаем нормальный поток, но НЕ static — иначе z-index игнорируется
   и белый ::after (z-index:0) заливает подкатегории. relative + z-index:1. */
body.product-category-all .items-home-categories .home-category-item > .name,
body.product-category-all .items-home-categories .home-category-item .name,
body.product-category-all .items-home-categories .home-category-item > .children,
body.product-category-all .items-home-categories .children{
	position:relative !important;
	left:auto !important;
	top:auto !important;
	right:auto !important;
	bottom:auto !important;
	z-index:2 !important;
	float:none !important;
}
/* Белый градиент контент-панели — строго ПОД текстом/ссылками. */
body.product-category-all .page_category .items-home-categories .home-category-item::after{
	z-index:0 !important;
	pointer-events:none !important;
}
/* Подкатегории кликабельны поверх панели. */
body.product-category-all .page_category .items-home-categories .children a.cat-sub{
	position:relative;
	z-index:3;
	pointer-events:auto;
}
/* Карта «Специалисты на карте» (html.49) — не в макете корневого каталога.
   Блок остаётся на главной; на /specialists/ только разделы + SEO-текст. */
body.product-category-all #content .home_map_shot,
body.product-category-all .page_category .home_map_shot,
body.product-category-all .page_category > .container > .home-widget.listify_widget_search_listings,
body.product-category-all .page_category [class*="map-shot"],
body.product-category-all .page_category .job_listings-map-wrapper,
body.product-category-all .page_category #map-sarafanpro,
body.product-category-all .page_category .content_bottom .home-map,
body.product-category-all .container > .home-widget:has(a[href="/map/"]),
body.product-category-all .page_category .container > div:has(> a[href="/map/"]),
body.product-category-all .page_category .container > div:has(#map-sarafanpro){
	display:none !important;
}

/* ── Реальный баг (критик): точечная сетка 3×3 слева от каждой карточки
   раздела. Источник — легаси-правило .items-home-categories .name:before
   (additional_102024.css) с картинкой bg_name_before.png и
   position:absolute;left:-25px, рассчитанным под старую вёрстку, где
   .name был position:relative. figma-redesign.css сделал .name
   position:static, и абсолютный ::before улетел к верхнему левому углу
   всей строки категории — вместо аккуратной точки у заголовка. В макете
   этого элемента нет вообще. Гасим только на корне каталога. */
body.product-category-all .items-home-categories .name:before{
	content:none !important;
}

/* ── /specialists/ filter dropdowns (макеты: категории-плитки, города, радиус) ── */
body.product-category-all .cat_hero-filters{
	position:relative;
	z-index:20;
}
/* note: .is-collapsed = SHOWN (inverted — see hero filters block above) */
body.product-category-all .cat_hero-dd{
	position:relative;
	display:inline-flex;
}
body.product-category-all .cat_hero-filter-chip{
	gap:6px;
}
body.product-category-all .cat_hero-filter-chip__chev{
	flex:0 0 auto;
	opacity:.75;
	transition:transform .15s ease;
}
body.product-category-all .cat_hero-dd.is-open .cat_hero-filter-chip__chev{
	transform:rotate(180deg);
}
body.product-category-all .cat_hero-dd.is-open .cat_hero-filter-chip{
	box-shadow:0 0 0 1.5px #0066B2, 0 1px 3px rgba(0,15,55,.08);
}

/* Shared panel shell */
body.product-category-all .cat_hero-panel{
	position:absolute;
	top:calc(100% + 10px);
	left:0;
	z-index:40;
	background:#fff;
	border:1px solid #E3E8EF;
	border-radius:12px;
	box-shadow:0 18px 42px rgba(16,42,95,.18);
	box-sizing:border-box;
	color:#0066B2;
	text-align:left;
}
body.product-category-all .cat_hero-panel[hidden]{
	display:none !important;
}

/* Category photo grid — Figma visual picker */
body.product-category-all .cat_hero-panel--cats{
	width:min(720px, calc(100vw - 32px));
	padding:16px;
	left:0;
}
body.product-category-all .cat_hero-panel__grid{
	display:grid;
	grid-template-columns:repeat(4, minmax(0,1fr));
	gap:10px;
	max-height:min(420px, 60vh);
	overflow:auto;
	padding:2px;
}
body.product-category-all .cat_hero-cat{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:stretch;
	gap:0;
	padding:0;
	margin:0;
	border:1.5px solid transparent;
	border-radius:10px;
	background:#F5F7FA;
	cursor:pointer;
	overflow:hidden;
	text-align:left;
	font:inherit;
	color:#0066B2;
	min-height:0;
	transition:border-color .12s ease, box-shadow .12s ease;
}
body.product-category-all .cat_hero-cat:hover{
	border-color:#4CA8ED;
	box-shadow:0 6px 16px rgba(0,102,178,.12);
}
body.product-category-all .cat_hero-cat.is-selected{
	border-color:#0066B2;
	box-shadow:0 0 0 1px #0066B2;
}
body.product-category-all .cat_hero-cat__thumb{
	display:block;
	width:100%;
	aspect-ratio:16/10;
	background:#E8EEF6 center/cover no-repeat;
}
body.product-category-all .cat_hero-cat__thumb--all{
	display:flex;
	align-items:center;
	justify-content:center;
	background:linear-gradient(135deg,#EAF2FB 0%,#D6E8F8 100%);
	aspect-ratio:16/10;
}
body.product-category-all .cat_hero-cat__name{
	display:block;
	padding:8px 10px 10px;
	font-size:13px;
	font-weight:400;
	line-height:1.25;
	color:#0066B2;
	/* 2 lines max */
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
body.product-category-all .cat_hero-cat__check{
	position:absolute;
	top:8px;
	right:8px;
	width:20px;
	height:20px;
	border-radius:50%;
	background:#0066B2;
	box-shadow:0 1px 3px rgba(0,15,55,.2);
	opacity:0;
	pointer-events:none;
	transition:opacity .12s ease;
}
body.product-category-all .cat_hero-cat__check::after{
	content:"";
	position:absolute;
	left:6px; top:4px;
	width:6px; height:10px;
	border:solid #fff;
	border-width:0 2px 2px 0;
	transform:rotate(45deg);
}
body.product-category-all .cat_hero-cat.is-selected .cat_hero-cat__check{
	opacity:1;
}

/* City multi-select */
body.product-category-all .cat_hero-panel--city{
	width:min(320px, calc(100vw - 32px));
	padding:12px 12px 14px;
}
body.product-category-all .cat_hero-city-search{
	display:flex;
	align-items:center;
	gap:8px;
	height:40px;
	padding:0 12px;
	border:1px solid #E3E8EF;
	border-radius:8px;
	background:#F8FAFC;
	margin-bottom:10px;
}
body.product-category-all .cat_hero-city-q{
	flex:1 1 auto;
	min-width:0;
	border:0;
	background:transparent;
	font-size:14px;
	color:#0066B2;
	outline:none;
	font-family:Rubik,system-ui,sans-serif;
}
body.product-category-all .cat_hero-city-q::placeholder{ color:#96A1BD; }
body.product-category-all .cat_hero-city-all{
	display:flex;
	align-items:center;
	gap:10px;
	padding:8px 6px 10px;
	font-size:14px;
	font-weight:500;
	color:#0066B2;
	cursor:pointer;
	border-bottom:1px solid #E8EDF5;
	margin-bottom:4px;
}
body.product-category-all .cat_hero-city-all input,
body.product-category-all .cat_hero-city-item input{
	width:16px; height:16px;
	accent-color:#0066B2;
	margin:0;
	flex:0 0 auto;
}
body.product-category-all .cat_hero-city-list{
	list-style:none;
	margin:0;
	padding:0;
	max-height:260px;
	overflow:auto;
}
body.product-category-all .cat_hero-city-list li{ margin:0; }
body.product-category-all .cat_hero-city-item{
	display:flex;
	align-items:center;
	gap:10px;
	padding:9px 6px;
	font-size:14px;
	font-weight:400;
	color:#2E437B;
	cursor:pointer;
	border-radius:6px;
}
body.product-category-all .cat_hero-city-item:hover{ background:#F1F5FA; }
body.product-category-all .cat_hero-panel__apply{
	display:block;
	width:100%;
	height:40px;
	margin-top:12px;
	border:0;
	border-radius:8px;
	background:#0066B2;
	color:#fff;
	font-size:15px;
	font-weight:400;
	font-family:Rubik,system-ui,sans-serif;
	cursor:pointer;
}
body.product-category-all .cat_hero-panel__apply:hover{ background:#00538F; }

/* Radius list */
body.product-category-all .cat_hero-panel--radius{
	width:min(220px, calc(100vw - 32px));
	padding:8px;
}
body.product-category-all .cat_hero-radius-list{
	list-style:none;
	margin:0;
	padding:0;
}
body.product-category-all .cat_hero-radius-list li{ margin:0; }
body.product-category-all .cat_hero-radius-item{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	height:40px;
	padding:0 12px;
	border:0;
	border-radius:8px;
	background:transparent;
	color:#2E437B;
	font-size:15px;
	font-family:Rubik,system-ui,sans-serif;
	cursor:pointer;
	text-align:left;
}
body.product-category-all .cat_hero-radius-item:hover{ background:#F1F5FA; }
body.product-category-all .cat_hero-radius-item.is-selected{
	color:#0066B2;
	font-weight:500;
	background:#EAF2FB;
}
body.product-category-all .cat_hero-radius-item__check{
	width:18px; height:18px;
	border-radius:50%;
	border:1.5px solid #C5D0E0;
	box-sizing:border-box;
	position:relative;
	flex:0 0 auto;
}
body.product-category-all .cat_hero-radius-item.is-selected .cat_hero-radius-item__check{
	background:#0066B2;
	border-color:#0066B2;
}
body.product-category-all .cat_hero-radius-item.is-selected .cat_hero-radius-item__check::after{
	content:"";
	position:absolute;
	left:5px; top:2px;
	width:5px; height:9px;
	border:solid #fff;
	border-width:0 2px 2px 0;
	transform:rotate(45deg);
}

/* AI panel under hero search */
body.product-category-all .cat_hero-ai-panel{
	max-width:980px;
	width:100%;
	margin:14px auto 0;
	padding:16px 18px;
	background:#fff;
	border:1px solid #FF6C1D;
	border-radius:12px;
	box-sizing:border-box;
	text-align:left;
}
body.product-category-all .cat_hero-ai-panel[hidden]{
	display:none !important;
}
body.product-category-all .cat_hero-ai-panel__title{
	margin:0 0 6px;
	font-size:16px;
	font-weight:500;
	color:#0066B2;
}
body.product-category-all .cat_hero-ai-panel__desc{
	margin:0 0 12px;
	font-size:14px;
	line-height:1.4;
	color:#5B6D9C;
}
body.product-category-all .cat_hero-ai-panel__form{
	display:flex;
	align-items:center;
	gap:10px;
}
body.product-category-all .cat_hero-ai-panel__input{
	flex:1 1 auto;
	min-width:0;
	height:44px;
	padding:0 14px;
	border:1px solid #E3E8EF;
	border-radius:8px;
	font-size:15px;
	color:#2E437B;
	font-family:Rubik,system-ui,sans-serif;
	box-sizing:border-box;
}
body.product-category-all .cat_hero-ai-panel__input:focus{
	outline:none;
	border-color:#0066B2;
}
body.product-category-all .cat_hero-ai-panel__btn{
	flex:0 0 auto;
	height:44px;
	padding:0 22px;
	border:0;
	border-radius:8px;
	background:#0B4A8F;
	color:#fff;
	font-size:15px;
	font-family:Rubik,system-ui,sans-serif;
	cursor:pointer;
}
body.product-category-all .cat_hero-ai-panel__btn:hover{ background:#0066B2; }
body.product-category-all .cat_hero__ai[aria-pressed="true"]{
	background:#FF6C1D !important;
	border-color:#FF6C1D !important;
	color:#fff !important;
}

/* First catalog row sits under hero overlap (no lone business tile) */
body.product-category-all .page_category .items-home-categories > .image-grid-item:first-child .home-category-item{
	box-shadow:0 8px 28px rgba(16,42,95,.14);
}

@media (max-width:900px){
	body.product-category-all .cat_hero-panel__grid{
		grid-template-columns:repeat(2, minmax(0,1fr));
	}
	body.product-category-all .cat_hero-panel--cats{
		left:50%;
		transform:translateX(-50%);
		width:min(360px, calc(100vw - 24px));
	}
	body.product-category-all .cat_hero-panel--city,
	body.product-category-all .cat_hero-panel--radius{
		left:50%;
		transform:translateX(-50%);
	}
	body.product-category-all .cat_hero-ai-panel__form{
		flex-wrap:wrap;
	}
	body.product-category-all .cat_hero-ai-panel__btn{
		width:100%;
	}
}

/* ── Desktop Figma WEB chrome ───────────────────────────────────────────── */
/* Floating circular map FAB — not in Figma catalog/category frames */
@media (min-width:861px){
	body.product-category-all .header_link_map,
	body[class*="product-category"] .header_link_map{
		display:none !important;
	}
}

/* Pagination shell ready when category.tpl emits .cat_pagination */
body[class*="product-category"] .cat_pagination{
	display:flex;
	justify-content:center;
	align-items:center;
	margin:32px 0;
}

/* Sale bar: ~80h, red end-cap square, width 1180, margin 20 (markup still «+») */
@media (min-width:861px){
	body.product-category-all .page_category .sale-bar,
	body.product-category-all .cat-sale-wrap .sale-bar{
		min-height:84px;
		max-width:none;
		width:100%;
		margin:20px 0;
		padding:0 0 0 24px;
		box-sizing:border-box;
	}
	body.product-category-all .page_category .sale-bar__icon,
	body.product-category-all .cat-sale-wrap .sale-bar__icon{
		position:static;
		width:84px;
		min-height:0;
		height:auto;
		align-self:stretch;
		border-radius:0;
	}
	body.product-category-all .cat-sale-wrap{
		max-width:1180px;
		margin:20px auto;
		width:100%;
	}
}


/* Map AJAX cards keep a geo node for pins — hide it so it doesn't add flex gap. */
body.product-map .job_listing-location {
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
body.product-map .sp-extra-contacts {
	display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   /map/ — body.product-map desktop
   List layout only (2-col + map pane). Card chrome is the catalog
   Card person rules (body.product-map shares those selectors).
   ═══════════════════════════════════════════════════════════════════════════ */

/* Redundant floating map control on the map page itself */
body.product-map .header_link_map {
	display: none !important;
}

/* Listify content-area 5em/4em dead air under title / before footer */
body.product-map .content-area,
body.product-map .row.content-area {
	margin-top: 0 !important;
	margin-bottom: 24px !important;
}
body.product-map #primary.container,
body.product-map #primary {
	padding-top: 0;
}

/* H1 + filter band density */
body.product-map .map_page-title {
	margin: 16px 0 12px;
	padding: 0 15px;
}
body.product-map .job_listings.job_filters--boxless .search_jobs,
body.product-map .job_filters .search_jobs {
	gap: 12px;
}

/* «Поиск» Listify decorative circle under button */
body.product-map .map_sort_wrap .button.circle::after,
body.product-map .job_filters .button.circle::after,
body.product-map .button.circle::after {
	content: none !important;
	display: none !important;
}
body.product-map .map_sort_wrap .button.circle,
body.product-map .job_filters .button.circle {
	background: #0066B2 !important;
	background-image: none !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 0 28px !important;
	min-width: 0 !important;
	height: 40px !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 40px !important;
	position: relative;
	box-shadow: none !important;
}
body.product-map .map_sort_wrap .button.circle:hover,
body.product-map .job_filters .button.circle:hover {
	background: #00538F !important;
	color: #fff !important;
}

/* Checkbox labels: kill fixed ~200px + ellipsis truncation */
body.product-map .job_types,
body.product-map ul.job_types {
	display: flex !important;
	flex-wrap: wrap;
	gap: 10px 16px;
	overflow: visible !important;
	max-height: none !important;
}
body.product-map .job_types li,
body.product-map ul.job_types li {
	width: auto !important;
	max-width: 100%;
	overflow: visible !important;
	white-space: normal !important;
	text-overflow: clip !important;
	display: inline-flex;
	align-items: center;
	margin: 0 !important;
}
body.product-map .job_types li label,
body.product-map ul.job_types li label {
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
}

/* «Сортировка:» was screen-reader-text 1×1 — restore visible label */
body.product-map .map_sort_wrap .search-sort {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}
body.product-map .map_sort_wrap .search-sort label,
body.product-map .search-sort label.screen-reader-text,
body.product-map label[for="search_sort"] {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 8px 0 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: nowrap;
	font-size: 14px !important;
	line-height: 1.3;
	color: #5B6D9C;
	font-weight: 400;
}

/* Map markers in DOM (if injected) */
body.product-map .map-marker {
	display: block;
	z-index: 2;
}

/* Map pane sits under fixed header (h:85, z:1021) — was top:0 h:100vh */
@media (min-width: 992px) {
	body.product-map.fixed-map .job_listings-map-wrapper,
	body.product-map .job_listings-map-wrapper.listings-map-wrapper--right,
	body.product-map .listings-map-wrapper--right {
		top: 85px !important;
		height: calc(100vh - 85px) !important;
		z-index: 10;
	}
	body.product-map #map-sarafanpro,
	body.product-map .job_listings-map,
	body.product-map .job_listings-map-wrapper .job_listings-map {
		height: 100% !important;
		min-height: 0 !important;
	}
}

/* Desktop split: left list scrolls, map fixed under header; hide full-page footer */
@media (min-width: 1025px) {
	body.product-map.fixed-map {
		overflow: hidden;
	}
	body.product-map.fixed-map .site-content,
	body.product-map.fixed-map #content {
		height: calc(100vh - 85px);
		max-height: calc(100vh - 85px);
		overflow-x: hidden;
		overflow-y: auto;
		box-sizing: border-box;
	}
	body.product-map footer.ftr,
	body.product-map .ftr,
	body.product-map .site-footer {
		display: none !important;
	}

	/* 2-col grid in ~834–864px left pane (3-col was ~271 tracks — too narrow) */
	body.product-map .offers_list {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 20px !important;
		margin: 0 !important;
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
		padding: 0 15px;
	}
	body.product-map .offers_list {
		align-items: stretch;
	}
	body.product-map .offers_list > .item {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		box-sizing: border-box;
		display: flex !important;
		flex-direction: column !important;
		min-height: 100%;
		height: 100%;
	}
}


/* Tablet map page: keep 2-col if space, no mobile break */
@media (min-width: 861px) and (max-width: 1024px) {
	body.product-map .offers_list {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 16px !important;
		margin: 0 !important;
	}
	body.product-map .offers_list > .item {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		display: flex !important;
		flex-direction: column !important;
	}
}

/* Map cards at every width: same catalog chrome, shorter so CTA is visible. */
body.product-map .offers_list .item .item_inner,
body.product-map .offers_list .item_inner.sp-card {
	overflow: visible !important;
	height: auto !important;
	min-height: 0 !important;
	gap: 12px !important;
}
body.product-map .offers_list .item_inner.sp-card .img {
	width: 180px !important;
	height: 180px !important;
	min-height: 180px !important;
	flex: 0 0 180px !important;
}
body.product-map .offers_list .item_inner.sp-card:not(.sp-card--pro):not(.is-pro) .img > a:not(.js-add-wishlist) {
	width: 180px !important;
	height: 180px !important;
}
body.product-map .offers_list .item_inner.sp-card.sp-card--pro .img,
body.product-map .offers_list .item_inner.sp-card.is-pro .img {
	width: 200px !important;
	height: 200px !important;
	min-height: 200px !important;
	flex: 0 0 200px !important;
}
body.product-map .offers_list .item_inner.sp-card.sp-card--pro .img > a:not(.js-add-wishlist),
body.product-map .offers_list .item_inner.sp-card.is-pro .img > a:not(.js-add-wishlist) {
	width: 184px !important;
	height: 184px !important;
	max-width: calc(100% - 16px) !important;
	max-height: calc(100% - 16px) !important;
}
body.product-map .offers_list .item_inner.sp-card .name,
body.product-map .offers_list .item_inner.sp-card .name a {
	height: auto !important;
	min-height: 0 !important;
	max-height: 52px !important;
	font-size: 22px !important;
	line-height: 26px !important;
}
body.product-map .offers_list .item_inner.sp-card .sp-spec {
	height: auto !important;
	min-height: 0 !important;
	max-height: 40px !important;
	font-size: 15px !important;
	line-height: 20px !important;
}
body.product-map .offers_list .item_inner.sp-card .texts {
	gap: 8px;
}
body.product-map .offers_list .item_inner.sp-card .texts .text {
	height: 66px !important;
	min-height: 66px !important;
	max-height: 66px !important;
	flex: 0 0 66px;
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
body.product-map .offers_list .item_inner.sp-card .contacts_wrap {
	min-height: 0 !important;
	grid-template-rows: auto !important;
}
body.product-map .offers_list .item_inner.sp-card .contacts_wrap:has(> a.btn--site) {
	grid-template-rows: 34px 34px !important;
	min-height: 76px !important;
}


/* ── Business leaf /shopping/ (product-category-291) — Figma 852:45759 WEB ──
   Compact 3-col business cards: rect cover, no badge/♥/ring, short bio,
   single full-width «Подробнее» CTA. Desktop only — mobile/tab in gw8-catmob. */
@media (min-width: 1025px) {

	/* Page shell: kill empty first container + Listify air under header */
	body.product-category-291 .page_category {
		padding: 0 0 40px !important;
	}
	body.product-category-291 .page_category > .container:empty {
		display: none !important;
	}
	body.product-category-291 .header_link_map {
		display: none !important;
	}

	/* Grid: fixed 380 tracks + center so 1–2 cards don’t leave a dead right column */
	body.product-category-291 .offers_list {
		display: grid !important;
		grid-template-columns: repeat(auto-fit, 380px) !important;
		justify-content: center;
		gap: 20px !important;
		margin: 0 auto !important;
		width: 100%;
		max-width: 1180px;
	}
	body.product-category-291 .offers_list > .item {
		width: 100% !important;
		max-width: 380px !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
	}

	/* Card chrome */
	body.product-category-291 .offers_list .item_inner.sp-card {
		gap: 12px !important;
		padding: 16px !important;
		max-width: 380px !important;
		height: 100%;
		min-height: 0 !important;
	}

	/* Shopping uses the same specialist cards as Figma Card person:
	   badge + ♥, round photo, «Узнать больше» / «Перейти на сайт». */

	/* SEO description under grid */
	body.product-category-291 .category_description {
		max-width: 1180px;
		margin: 48px auto 0;
		padding: 0;
		color: #5B6D9C;
		font-size: 16px;
		line-height: 1.5;
	}
	body.product-category-291 .category_description h3 {
		font-size: 20px;
		font-weight: 500;
		color: #000F38;
		margin: 24px 0 12px;
	}
	body.product-category-291 .category_description p {
		margin: 0 0 12px;
	}
}

/* /specialists/ wide business cards — same as homepage .fg .cat__wide (Figma) */
body.product-category-all .page_category .items-home-categories > .cat__wide--catalog{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:20px;
	width:100%;
	max-width:1180px;
	margin:8px auto 24px;
	padding:0;
	float:none;
	clear:both;
}
body.product-category-all .page_category .cw{
	position:relative;
	display:block;
	height:150px;
	border-radius:10px;
	overflow:hidden;
	background:none;
	padding:0;
	box-shadow:0 5px 20px rgba(193,200,218,.45);
	transition:box-shadow .15s ease,transform .15s ease;
}
body.product-category-all .page_category .cw:hover{
	transform:translateY(-2px);
	box-shadow:0 12px 26px rgba(16,42,95,.12);
}
body.product-category-all .page_category .cw img{
	position:absolute;
	inset:0;
	width:100% !important;
	height:100% !important;
	max-height:none !important;
	object-fit:cover;
	display:block;
	border-radius:10px;
}
body.product-category-all .page_category .cw::after{
	content:"";
	position:absolute;
	left:0;right:0;top:0;
	height:58%;
	z-index:1;
	pointer-events:none;
	border-radius:10px 10px 0 0;
	background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.72) 28%,rgba(255,255,255,.28) 62%,rgba(255,255,255,0) 100%);
}
body.product-category-all .page_category .cw span{
	position:absolute;
	left:0;right:0;top:0;
	z-index:2;
	box-sizing:border-box;
	height:48px;
	padding:12px 14px 0;
	display:flex;
	align-items:flex-start;
	justify-content:center;
	color:#0066B2;
	font-size:20px;
	font-weight:400;
	line-height:24px;
	text-align:center;
	pointer-events:none;
	text-shadow:none;
}
@media (max-width:860px){
	body.product-category-all .page_category .items-home-categories > .cat__wide--catalog{
		grid-template-columns:minmax(0,1fr);
		gap:12px;
	}
	body.product-category-all .page_category .cw{ height:140px; }
	body.product-category-all .page_category .cw::after{
		inset:0;
		height:auto;
		border-radius:10px;
		background:linear-gradient(180deg,rgba(10,30,70,.15),rgba(10,30,70,.55));
	}
	body.product-category-all .page_category .cw span{
		color:#fff;
		height:auto;
		min-height:36px;
		top:0;bottom:0;
		padding:0 12px;
		font-size:16px;
		line-height:1.25;
		align-items:center;
		text-shadow:0 1px 8px rgba(0,0,0,.45);
	}
}
@media (min-width:861px) and (max-width:1100px){
	body.product-category-all .page_category .items-home-categories > .cat__wide--catalog{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}

/* Shared (all widths): kill legacy offers_list negative margin on category pages */
body[class*="product-category"] .offers_list ,
body.product-search .offers_list {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
@media (min-width: 1025px) {
	body[class*="product-category"] .offers_list ,
body.product-search .offers_list {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
}

/* Search mode: catalog vs map. Tabs, not the old Список/Карта buttons. */
.sp-search-mode {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 16px;
}
.sp-search-mode__tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 18px;
	border-radius: 999px;
	border: 1px solid rgba(0, 102, 178, .35);
	background: #fff;
	color: #0066B2;
	font-family: Rubik, sans-serif;
	font-size: 15px;
	line-height: 1.2;
	text-decoration: none;
}
.sp-search-mode__tab.is-active {
	background: #0066B2;
	border-color: #0066B2;
	color: #fff;
}
.sp-search-mode__tab:hover {
	border-color: #0066B2;
	text-decoration: none;
}
body.product-category-all .cat_hero .sp-search-mode {
	justify-content: flex-start;
	margin: 8px 0 14px;
}

/* /map/: search on top, map under it, specialist cards below the map.
   Undo the fixed right-hand pane (body.fixed-map). */
body.product-map.fixed-map,
body.product-map.fixed-map .site-content,
body.product-map.fixed-map #content,
body.product-map.fixed-map .footer-wrapper {
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	max-height: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	overflow: visible !important;
}
body.product-map footer.ftr,
body.product-map .ftr,
body.product-map .site-footer {
	display: block !important;
}
body.product-map .job_listings-map-wrapper,
body.product-map.fixed-map .job_listings-map-wrapper,
body.product-map .listings-map-wrapper--right,
body.product-map.fixed-map.fixed-map--right .job_listings-map-wrapper {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 8px 0 28px;
	background: #e8eef6;
}
body.product-map #map-sarafanpro,
body.product-map .job_listings-map,
body.product-map .job_listings-map-wrapper .job_listings-map {
	width: 100% !important;
	height: 460px !important;
	min-height: 460px !important;
	max-height: 460px !important;
}
body.product-map #jobFiltersResult-data {
	margin-top: 8px;
}
@media (min-width: 1025px) {
	body.product-map .offers_list {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 767px) {
	body.product-map #map-sarafanpro,
	body.product-map .job_listings-map,
	body.product-map .job_listings-map-wrapper .job_listings-map {
		height: 320px !important;
		min-height: 320px !important;
		max-height: 320px !important;
	}
}
