/* Единый шаблон страниц услуг (МК / шоу) — стилистика утверждённой главной (pm-*).
   Префикс .us- ; токены (--pm-*) приезжают из home-promo.css. */

/* Поля по бокам: у боевого .container padding 36px, держим не меньше, иначе контент липнет к краям */
.us-wrap{max-width:1260px;margin:0 auto;padding:0 36px}
/* Лёгкий тон всей страницы: белые карточки (цена, виджет, фильтр, видео, программы)
   на чисто-белом сливались — на этом фоне они «всплывают» сами, без утяжеления теней. */
.us-page{font-family:Nunito,Calibri,sans-serif;color:var(--pm-ink,#191d26);font-size:17px;line-height:1.62;
  background:#f5f3fb}
.us-page *{box-sizing:border-box}
.us-section{padding:52px 0;position:relative}
.us-section--soft{background:linear-gradient(180deg,#fdf3f9 0%,#f4f8fe 55%,#f5f3fb 100%)}
.us-h2{font-family:Inglobal,Calibri,sans-serif;font-size:40px;line-height:1.1;font-weight:400;margin:0 0 26px;color:var(--pm-ink,#191d26)}
.us-h3{font-family:Inglobal,Calibri,sans-serif;font-size:24px;line-height:1.2;font-weight:400;margin:0 0 12px;color:var(--pm-ink,#191d26);text-transform:none}
/* Вариант 1 (основной): акцент заголовка — тот же шрифт и кегль, что тело, только градиентная заливка.
   inherit убирает прежний разнобой (JakobExtraCTT + 1.16em). */
.us-h1 em,.us-h2 em,.us-h3 em{font-style:normal;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;
  background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));-webkit-background-clip:text;background-clip:text;color:transparent}
/* Чередование цвета акцента по секциям (как на демо): по умолчанию розовый, t-blue — голубой, t-violet — фиолетовый */
.us-h1.t-blue em,.us-h2.t-blue em,.us-h3.t-blue em{background-image:linear-gradient(95deg,#0aa2d8,#7a4fd8)}
.us-h1.t-violet em,.us-h2.t-violet em,.us-h3.t-violet em{background-image:linear-gradient(95deg,#7a4fd8,#e8318f)}
/* Импортированные с главной блоки (Благодарности/Нам доверяют/Отзывы) используют pm-h2 в стиле
   главной (Nunito 900 + рукописный JakobExtraCTT-акцент). На странице услуг приводим их к общему
   виду: тот же кегль/вес, акцент тем же шрифтом + градиент, цвета голубой/фиолетовый (без розового).
   Только внутри .us-page — боевую главную не трогаем. Гарнитуру Inglobal форсит HEAD_EXTRA. */
.us-page .pm-h2{font-size:40px;line-height:1.1;font-weight:400}
.us-page .pm-h2 em{font-style:normal;font-family:inherit!important;font-size:inherit!important;
  font-weight:inherit!important;line-height:inherit!important;
  background-clip:text;-webkit-background-clip:text;color:transparent}
.us-page .pm-h2--violet em,.us-page .pm-h2--blue em{background-image:linear-gradient(95deg,#7a4fd8,#e8318f)!important}
.us-page .pm-h2--pink em{background-image:linear-gradient(95deg,#0aa2d8,#7a4fd8)!important}
.us-page p{margin:0 0 14px}
.us-page a{color:var(--pm-pink,#e8318f)}
/* Акценты ВНУТРИ текста (иногда): вариант 2 — маркер-хайлайтер, вариант 4 — плашка-таблетка */
.us-mark{position:relative;z-index:0;padding:0 .12em}
.us-mark::before{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.52em;z-index:-1;
  background:linear-gradient(95deg,rgba(255,106,181,.38),rgba(122,79,216,.28));
  border-radius:.28em .34em .3em .26em;transform:rotate(-.7deg)}
.us-pill{display:inline-block;color:#fff!important;background:linear-gradient(100deg,#ff6ab5,#e8318f);
  padding:.04em .32em .1em;border-radius:.42em;transform:rotate(-1.2deg);white-space:nowrap;
  box-shadow:0 6px 16px rgba(232,49,143,.22)}

/* описание на белой плашке во всю ширину — как соседняя карточка «Что мы предлагаем» */
.us-prose{background:#fff;border:1px solid var(--pm-line,rgba(25,29,38,.09));
  border-radius:var(--r-lg,24px);padding:30px 32px 26px;box-shadow:var(--sh-sm,0 8px 22px rgba(25,20,50,.07))}
.us-prose p{font-size:17px;line-height:1.72;margin:0 0 15px}
.us-prose p:last-child{margin-bottom:0}
.us-prose ul,.us-prose ol{margin:0 0 15px;padding-left:22px}
.us-prose li{margin:0 0 7px;line-height:1.6}
.us-prose__h{font-family:Inglobal,Calibri,sans-serif;font-size:24px;font-weight:400;line-height:1.22;
  color:var(--pm-violet,#7a4fd8);margin:30px 0 12px}
.us-prose>.us-prose__h:first-child,.us-prose__h:first-child{margin-top:0}
/* SEO-текст тега/раздела (.us-prose--seo) и любой контент в .us-prose пишется СЫРЫМИ h1–h4
   без классов; шаблон superpuper33 красит голый h2 глобальным правилом h2{font-size:80px;
   color:#0078c2;line-height:85px} — заголовки «поехали» (простыня). Возвращаем нормальные
   размеры (спецификость .us-prose h2 бьёт голый h2). Класс .us-prose__h (заголовок описания
   от шаблона) не трогаем через :not(). */
.us-prose h1:not(.us-prose__h),.us-prose h2:not(.us-prose__h),
.us-prose h3:not(.us-prose__h),.us-prose h4:not(.us-prose__h){line-height:1.28;font-weight:700;margin:26px 0 12px}
.us-prose h1:not(.us-prose__h){font-size:30px;color:#0078c2}
.us-prose h2:not(.us-prose__h){font-size:26px;color:#0078c2}
.us-prose h3:not(.us-prose__h){font-size:20px;color:var(--pm-ink,#191d26)}
.us-prose h4:not(.us-prose__h){font-size:18px;color:var(--pm-ink,#191d26)}
.us-prose h1:first-child,.us-prose h2:first-child,.us-prose h3:first-child,.us-prose h4:first-child{margin-top:0}

/* «Что входит» — отдельные белые плитки с мягким чипом-иконкой
   (не сплошная плашка и не громкие градиентные кружки — те только у «Наших преимуществ») */
.us-incs{display:grid;grid-template-columns:repeat(var(--us-cols,3),minmax(0,1fr));gap:18px}
.us-inc{display:flex;align-items:center;gap:14px;background:#fff;
  border:1px solid var(--pm-line,rgba(25,29,38,.09));border-radius:18px;padding:18px 20px;
  box-shadow:var(--sh-sm,0 8px 22px rgba(25,20,50,.07));
  font-size:17px;line-height:1.4;color:var(--pm-ink,#191d26)}
.us-inc__ico{flex:0 0 auto;width:46px;height:46px;border-radius:13px;display:flex;align-items:center;
  justify-content:center;font-size:20px;color:var(--pm-violet,#7a4fd8);
  background:linear-gradient(135deg,rgba(10,162,216,.13),rgba(122,79,216,.13))}
.us-inc__ico img{width:26px;height:26px;object-fit:contain}
.us-inc__t{min-width:0}
@media(max-width:900px){.us-incs{--us-cols:2}}
@media(max-width:680px){.us-incs{grid-template-columns:1fr;gap:12px}
  .us-inc{padding:14px 16px}
  .us-inc__ico{width:40px;height:40px;font-size:18px}}

/* ---------- готовый документ из свойства (SEO-блок «Пенной» и т.п.) ----------
   Выводится дословно со своими pv-стилями; здесь только гарнитура заголовков в тон страницы */
.us-page .us-doc h2{font-family:Inglobal,Calibri,sans-serif;font-size:38px;line-height:1.12;font-weight:400;
  margin:38px 0 18px;color:var(--pm-ink,#191d26)}
.us-page .us-doc h3{font-family:Inglobal,Calibri,sans-serif;font-size:23px;line-height:1.2;font-weight:400;
  margin:26px 0 12px;color:var(--pm-ink,#191d26)}
.us-page .us-doc>.us-wrap>h2:first-child{margin-top:0}
@media(max-width:680px){.us-page .us-doc h2{font-size:29px}.us-page .us-doc h3{font-size:20px}}

/* ---------- хлебные крошки (замена штатных: были курсивные с жёлтым домом) ---------- */
.us-crumbs{background:transparent;padding:16px 0 0}
.us-crumbs__in{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;
  font-family:Nunito,Arial,sans-serif;font-size:14px;line-height:1.35;font-style:normal}
.us-crumbs__link{color:#8a8f9c;text-decoration:none;transition:color .15s}
.us-crumbs__link:hover{color:var(--pm-violet,#7a4fd8)}
.us-crumbs__home{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  border-radius:9px;background:linear-gradient(135deg,rgba(10,162,216,.13),rgba(122,79,216,.13));
  color:var(--pm-violet,#7a4fd8);font-size:13px}
.us-crumbs__home:hover{color:var(--pm-blue,#0aa2d8)}
.us-crumbs__sep{color:#c3c7d1;font-size:15px;line-height:1}
.us-crumbs__cur{color:var(--pm-ink,#191d26);font-weight:600}
@media(max-width:680px){.us-crumbs{padding:12px 0 0}
  .us-crumbs__in{font-size:13px;gap:5px 8px}
  .us-crumbs__home{width:25px;height:25px;border-radius:8px}}

/* ---------- первый экран ---------- */
/* Первый экран живёт в .us-wrap: без него мозаика и карточка липли к краям окна */
.us-herowrap{padding:28px 0 8px}
.us-hero{display:grid;grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);gap:34px;align-items:start}
.us-h1{font-family:Inglobal,Calibri,sans-serif;font-size:44px;line-height:1.06;font-weight:400;margin:0 0 18px;
  text-transform:none;color:var(--pm-ink,#191d26)}
.us-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0;list-style:none}
.us-chip{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;line-height:1;
  padding:11px 16px;border-radius:14px;background:#fff;border:1px solid var(--pm-line,rgba(25,29,38,.09));box-shadow:var(--sh-sm,0 8px 22px rgba(25,20,50,.07))}
.us-chip i{font-style:normal;font-size:16px}
.us-chip b{font-weight:800;color:var(--pm-violet,#7a4fd8)}
.us-chip--age b{color:var(--pm-blue,#0aa2d8)}
.us-chip--time b{color:var(--pm-pink,#e8318f)}
.us-lead{font-size:18px;color:#3c4657;margin:0 0 22px}
.us-lead p{margin:0 0 10px}
.us-order{background:#fff;border:1px solid var(--pm-line,rgba(25,29,38,.09));border-radius:var(--r-lg,24px);
  box-shadow:var(--sh-md,0 18px 44px rgba(25,20,50,.11));padding:24px 26px}
.us-price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 16px}
.us-price__now{font-size:34px;font-weight:800;line-height:1;color:var(--pm-pink,#e8318f)}
.us-price__old{font-size:19px;color:#93a0b1;text-decoration:line-through}
.us-price__tag{font-size:13px;font-weight:800;color:#fff;background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));
  padding:6px 12px;border-radius:999px;line-height:1}
.us-btns{display:flex;flex-wrap:wrap;gap:12px}
.us-btn{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;
  font-family:Nunito,Calibri,sans-serif;font-size:18px;font-weight:700;color:#fff;padding:15px 30px;border-radius:999px;
  background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));box-shadow:var(--sh-pink,0 12px 30px rgba(232,49,143,.3));
  text-decoration:none;transition:transform .25s,box-shadow .25s;text-align:center}
.us-btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(232,49,143,.38);color:#fff}
.us-btn--ghost{background:#fff;color:var(--pm-violet,#7a4fd8);border:2px solid rgba(122,79,216,.35);box-shadow:none}
.us-btn--ghost:hover{color:var(--pm-violet,#7a4fd8);border-color:var(--pm-violet,#7a4fd8);box-shadow:0 10px 26px rgba(122,79,216,.18)}
.us-note{font-size:13px;color:#8a94a4;margin:14px 0 0;line-height:1.45}

/* ---------- рейтинг Яндекса под мозаикой (левая колонка героя) ---------- */
/* Готовый блок pm-ywidget с главной ставим под фото — заполняет пустое место рядом
   с карточкой цены (ширина ~2/3, по центру — см. правило ниже). */
/* Колонки героя выровнены по ВЕРХУ (align-items:start): контент течёт естественно сверху вниз —
   блок цены сразу под лидом, плашка Яндекса сразу под мозаикой. Прежняя привязка к низу
   (margin-top:auto при stretch) оставляла большой пустой зазор в правой колонке — убрана. */
.us-hero__vis{display:flex;flex-direction:column;gap:14px}
.us-hero__main{display:flex;flex-direction:column}
/* Плашка Яндекса в первом экране — ВО ВСЮ ширину колонки под мозаикой, но КОМПАКТНАЯ по высоте
   (просьба владельца: ширину оставляем полной, высоту делаем уже — режем вертикальные отступы и
   межстрочные зазоры; горизонтальный разгон между колонками сохраняем). Спец-ть .us-page .us-hero__rating
   .pm-ywidget (0,3,0) перебивает общий .us-page .pm-ywidget (0,2,0) по row-gap/padding. */
.us-hero__rating{width:100%}
/* Плашка Яндекса в герое — ПОЛНОЙ ширины, 2-колоночная сетка (как одобрено ранее): лавры
   «Хорошее место 2025» и «2026» стоят РЯДОМ в одном ряду (award1|award2) на всех ширинах, включая
   мобильную (просьба владельца). Горизонтальная flex-лента раскидывала их по разным строкам — отвергнута.
   Тесные отступы (row-gap 8, компактный padding), чтобы плашка не была слишком высокой. */
.us-page .us-hero__rating .pm-ywidget{display:grid;grid-template-columns:auto auto;justify-content:center;
  align-items:center;max-width:100%;width:100%;margin:0;box-sizing:border-box;
  column-gap:22px;row-gap:8px;padding:12px 22px;border-radius:18px}
/* Карточки героя на белом фоне сливались — плотнее граница и «приподнятая» тень
   (тугой контур + мягкая глубина). Одинаково для виджета Яндекса и блока цены. */
.us-hero__rating .pm-ywidget,
.us-hero__main .us-order{border-color:rgba(25,29,38,.14);
  box-shadow:0 2px 6px rgba(25,20,50,.08),0 18px 40px rgba(25,20,50,.14)}
/* Плашка Яндекса — структурированная сетка (по правке владельца, все ширины + обе плашки: первый
   экран и отзывы): «Я Яндекс Карты 5,0» / два года на ОДНОЙ строке / звёзды и «Отлично» на другой. */
.us-page .pm-ywidget{display:grid;grid-template-columns:auto auto;justify-content:center;
  justify-items:center;align-items:center;gap:11px 16px;row-gap:11px}
.us-page .pm-ywidget > .pm-ywidget__brand{order:1}
.us-page .pm-ywidget > .pm-ywidget__score{order:2}
.us-page .pm-ywidget > span.pm-award:nth-of-type(1){order:3}
.us-page .pm-ywidget > span.pm-award:nth-of-type(2){order:4}
.us-page .pm-ywidget > .pm-ywidget__meta{order:5}
.us-page .pm-ywidget > .pm-ywidget__badge{order:6}
/* Мобильный для ОБЕИХ плашек Яндекса (первый экран и блок «Отзывы», в т.ч. на странице раздела):
   колонки по 1fr — auto+justify-content:center вылезали за padding, «Я» упирался в край карточки;
   содержимое по центру своей половины; счётчик отзывов в ОДНУ строку (перенос «110 / оценок»
   растягивал ряд и оставлял дыру рядом с «Отлично»). Кегль слегка ужат, чтобы влезло.
   Хвост-селектор .us-hero__rating (0,3,0) нужен, чтобы перебить десктопное правило героя выше. */
@media (max-width:680px){
  .us-page .pm-ywidget,
  .us-page .us-hero__rating .pm-ywidget{grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    justify-items:center;column-gap:10px;row-gap:12px;padding:16px 14px}
  .us-page .pm-ywidget .pm-award{width:100%;justify-content:center;padding:7px 6px}
  .us-page .pm-ywidget__meta{align-items:center;text-align:center}
  .us-page .pm-ywidget__cnt{white-space:nowrap;font-size:12.5px}
  .us-page .pm-ywidget__brand{font-size:15px;gap:6px}
  .us-page .pm-ywidget__score{font-size:34px}
}
/* Десктоп для ОБЕИХ плашек: ДВА ряда во всю ширину (просьба владельца — трёхрядная колонка по центру
   оставляла широкие пустые поля по бокам).
   Ряд 1: «Я Яндекс Карты 5,0» слева — «Отлично» справа (вердикт рядом с оценкой).
   Ряд 2: звёзды со счётчиком слева — лавры 2025/2026 справа.
   ⚠️ Именно flex, а не grid: у сетки колонки общие для обоих рядов, поэтому «бренд + оценка +
   две награды» складывались в одну ширину 576px, которая не влезала в плашку (502/494) — правый
   край вылезал на 74–82px. У flex каждая строка меряется сама: ряд 1 ≈ 297px, ряд 2 ≈ 481px.
   Перенос строки задаёт распорка ::after (у flex-контейнера псевдоэлемент — тоже flex-элемент),
   группы разводит по краям margin-left:auto. Хвост .us-hero__rating (0,3,0) перебивает
   десктопное правило героя выше (display:grid). */
@media (min-width:681px){
  .us-page .pm-ywidget,
  .us-page .us-hero__rating .pm-ywidget{display:flex;flex-wrap:wrap;align-items:center;
    justify-content:flex-start;column-gap:14px;row-gap:0}
  .us-page .pm-ywidget::after{content:"";width:100%;height:0;order:4}
  .us-page .pm-ywidget > .pm-ywidget__brand{order:1}
  .us-page .pm-ywidget > .pm-ywidget__score{order:2}
  .us-page .pm-ywidget > .pm-ywidget__badge{order:3;margin-left:auto}
  .us-page .pm-ywidget > .pm-ywidget__meta{order:5;margin-top:14px}
  .us-page .pm-ywidget > span.pm-award:nth-of-type(1){order:6;margin-left:auto;margin-top:14px}
  .us-page .pm-ywidget > span.pm-award:nth-of-type(2){order:7;margin-top:14px}
  .us-page .pm-ywidget__meta{align-items:flex-start;text-align:left}
  .us-page .pm-ywidget__cnt{white-space:nowrap}
}

/* Логотип Яндекса в ленте «Нам доверяют»: фирменный красный знак «Я» + вордмарк «Яндекс». */
.us-page .us-lg-ya{gap:9px}
.us-page .us-lg-ya .pm-ya{display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:9px;background:#fc3f1d;color:#fff;font:900 22px/1 Arial,sans-serif}
.us-page .us-lg-ya b{font:800 27px/1 Arial,Helvetica,sans-serif;color:#21201f;letter-spacing:-.01em}


/* ---------- мозаика фото ---------- */
/* Мозаика первого экрана — плотная сетка без дыр (раскладку считает билдер, hero_plan):
   первый кадр крупный 2×2, остальные квадратные, низ ровный. */
.us-mos.us-mosaic{display:grid;grid-template-columns:repeat(var(--us-cols,3),1fr);
  grid-auto-flow:dense;grid-auto-rows:1fr;gap:10px}
.us-mos__t{position:relative;display:block;width:100%;border:none;padding:0;background:#f1f3f7;border-radius:18px;overflow:hidden;cursor:pointer}
.us-mos__t img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.us-mos__t:hover img{transform:scale(1.045)}
.us-mos__hidden{display:none}   /* кадр только для лайтбокса — в сетке не показывается */
.us-mos__more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(20,20,30,.5);color:#fff;font-weight:800;font-size:21px;border-radius:inherit;pointer-events:none}

/* ---------- карточки контента ---------- */
.us-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;align-items:stretch}
.us-card{height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid var(--pm-line,rgba(25,29,38,.09));border-radius:var(--r-lg,24px);
  box-shadow:var(--sh-sm,0 8px 22px rgba(25,20,50,.07));padding:28px 28px 22px}
.us-card--tint{background:linear-gradient(150deg,#fff 0%,#fdf4fa 100%)}
.us-card__ico{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:22px;margin:0 0 14px;background:rgba(232,49,143,.10);color:var(--pm-pink,#e8318f)}
.us-card--blue .us-card__ico{background:rgba(10,162,216,.12);color:var(--pm-blue,#0aa2d8)}
.us-card--violet .us-card__ico{background:rgba(122,79,216,.12);color:var(--pm-violet,#7a4fd8)}
.us-card p:last-child{margin-bottom:0}

/* списки с галочками */
.us-list{list-style:none;margin:0 0 14px;padding:0}
.us-list li{position:relative;padding:0 0 0 32px;margin:0 0 11px;line-height:1.55}
.us-list li:before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;
  background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));
  -webkit-mask:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat,
    linear-gradient(#000,#000);-webkit-mask-composite:source-over;
  mask:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat}
.us-list--num{counter-reset:us 0}
.us-list--num li{padding-left:44px}
.us-list--num li:before{counter-increment:us;content:counter(us);width:30px;height:30px;top:0;
  background:var(--pm-brand,linear-gradient(100deg,#0aa2d8,#7a4fd8 52%,#e8318f));-webkit-mask:none;mask:none;
  color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;line-height:1}

/* ---------- программа (основной текст) ---------- */
/* Карточки в ряду — одной высоты: иначе сетка выглядит рваной */
.us-prog{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;align-items:stretch}
.us-prog--single{grid-template-columns:minmax(0,1fr)}
.us-prog.us-cols-2,.us-prog.us-cols-3{grid-template-columns:repeat(var(--us-cols),minmax(0,1fr))}
.us-prog+.us-prog{margin-top:24px}
/* «Кладка» для длинных подборок: карточки своей высоты, колонки читаются сверху вниз */
.us-prog--flow{display:block;columns:var(--us-cols,2);column-gap:24px}
.us-prog--flow .us-card{display:block;height:auto;break-inside:avoid;margin:0 0 24px}
.us-card--wide{grid-column:1/-1}
.us-block__title{font-family:Inglobal,Calibri,sans-serif;font-size:23px;font-weight:400;line-height:1.22;margin:0 0 14px;
  color:var(--pm-violet,#7a4fd8);text-transform:none}
.us-block__title--caps{text-transform:none}

/* ---------- галерея ---------- */
/* Ряды заполняются целиком (--us-cols считает билдер), плитки одного размера */
.us-gal{display:grid;grid-template-columns:repeat(var(--us-cols,4),minmax(0,1fr));gap:14px}
.us-gal__t{position:relative;display:block;border:none;padding:0;cursor:pointer;background:#f1f3f7;
  border-radius:16px;overflow:hidden;aspect-ratio:4/3}
.us-gal__t img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.us-gal__t:hover img{transform:scale(1.05)}

/* ---------- мозаика (фото и плитки программ) ---------- */
/* Ряды считает билдер (dense-раскладка без дыр): мелкие плитки квадратные, крупные 2×2 */
.us-mosaic{grid-auto-flow:dense;grid-auto-rows:1fr;gap:12px}
.us-mosaic > *{aspect-ratio:1;border-radius:18px}
.us-mosaic > .is-big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}

/* ---------- видео ---------- */
/* Пропорции берём у самого ролика (--us-ar): вертикальные шортсы в рамке 16:9 висели
   маркой посреди пустого поля. Ширину рамки под формат задаёт билдер (--us-vw). */
.us-vid{position:relative;margin:0;width:100%;max-width:min(100%,var(--us-vw,860px))}
.us-video{width:100%;border-radius:var(--r-lg,24px);
  overflow:hidden;background:#0e0b18;box-shadow:var(--sh-md,0 18px 44px rgba(25,20,50,.11))}
.us-video iframe,.us-video video{display:block;width:100%;aspect-ratio:var(--us-ar,16/9);height:auto;border:0;
  object-fit:cover;background:#0e0b18}
/* Подпись — плашкой поверх кадра: под кадром она рвала ряд по высоте */
.us-vid__cap{position:absolute;top:12px;left:12px;max-width:calc(100% - 24px);z-index:2;pointer-events:none;
  background:rgba(255,255,255,.94);color:var(--pm-ink,#191d26);font-size:13px;font-weight:700;line-height:1.25;
  padding:7px 13px;border-radius:999px;box-shadow:0 6px 18px rgba(25,20,50,.18);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Полоса роликов одной высоты: flex-grow = соотношение сторон, поэтому вертикальные узкие,
   горизонтальные широкие, а нижний край общий */
.us-videos{display:flex;align-items:flex-start;gap:14px;margin:22px 0}
.us-videos .us-vid{flex:var(--us-arn,1.78) 1 0;min-width:0;max-width:none}
.us-videos--solo{justify-content:center}
.us-videos--solo .us-vid{flex:0 1 var(--us-vw,380px)}
.us-videos__cta{display:flex;justify-content:center;margin:22px 0 6px}

/* Карточка с одним роликом: текст слева, плеер справа во всю высоту карточки */
.us-card--aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);column-gap:30px;align-items:start}
.us-card--aside > *{grid-column:1;min-width:0}
.us-card--aside > .us-videos{grid-column:2;grid-row:1/span 99;align-self:center;margin:0}
.us-card--aside > .us-videos .us-vid{flex:0 1 100%;max-width:100%}

/* ---------- вопросы-ответы ---------- */
.us-faqwrap{max-width:920px;margin:0 auto}
.us-faq{display:grid;gap:12px;width:100%}
.us-faq__i{border:1px solid var(--pm-line,rgba(25,29,38,.09));border-radius:18px;
  background:linear-gradient(150deg,#fff 0%,#fbf7fd 100%);transition:border-color .2s,box-shadow .2s,background .2s}
.us-faq__i:hover{border-color:rgba(122,79,216,.35)}
.us-faq__i[open]{background:#fff;border-color:rgba(232,49,143,.4);box-shadow:0 14px 34px rgba(25,20,50,.09)}
.us-faq__i summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;
  padding:17px 20px;font-weight:700;font-size:17px;line-height:1.35;color:var(--pm-ink,#191d26)}
.us-faq__i summary::-webkit-details-marker{display:none}
.us-faq__i summary > span{flex:1;min-width:0}
/* Значок-кружок вместо голой галочки: так строка читается как кнопка */
.us-faq__i summary::after{content:"";flex:0 0 30px;height:30px;border-radius:50%;
  background:rgba(232,49,143,.1) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' \
viewBox='0 0 24 24' fill='none' stroke='%23e8318f' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E")
  center/13px no-repeat;transition:transform .25s,background-color .2s}
.us-faq__i[open] summary::after{transform:rotate(180deg);background-color:rgba(232,49,143,.18)}
.us-faq__i summary:hover{color:var(--pm-pink,#e8318f)}
.us-faq__a{padding:0 20px 18px 20px;color:rgba(25,29,38,.78);font-size:16px;line-height:1.6}
.us-faq__a p{margin:0 0 8px}
.us-faq__a p:last-child{margin-bottom:0}
.us-faq__cta{display:flex;justify-content:center;margin:22px 0 2px}
.us-faq__cta .us-btn{font-size:17px}
/* Гармошка идёт во всю ширину — в две колонки её читать неудобно */
.us-card--faq{padding-bottom:26px}
.us-card--faq .us-faq,.us-card--faq .us-block__title{max-width:940px;margin-left:auto;margin-right:auto}
.us-card--faq .us-block__title{font-size:27px;text-align:center;margin-bottom:22px}

/* Блоки, перенесённые с главной, живут по своим стилям (home-promo.css) — наша типографика
   .us-page p не должна их ломать: у .pm-sub она убивала auto-поля и уводила подзаголовок влево. */
.us-page .pm-sub{margin:16px auto 0}

/* Аватар-заглушка для отзыва без фото: буква имени в фирменном кружке */
.us-rev-ava{display:flex!important;align-items:center;justify-content:center;
  background:var(--pm-brand,linear-gradient(100deg,#0aa2d8,#7a4fd8 52%,#e8318f))!important;
  color:#fff;font-weight:800;font-size:19px;line-height:1}

/* ---------- плитка «оставьте отзыв» (шестая в сетке главной) ---------- */
.us-rev-invite{display:flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(150deg,#fff 0%,#fdf1f8 100%);border:1px dashed rgba(232,49,143,.4)}
.us-rev-invite__title{font-family:Inglobal,Calibri,sans-serif;font-size:23px;line-height:1.15;
  color:var(--pm-violet,#7a4fd8);margin-bottom:10px}
.us-rev-invite__text{margin:0 0 18px;font-size:15px;color:rgba(25,29,38,.7)}
.us-rev-invite .us-btn{display:inline-block;text-decoration:none}

/* ---------- CTA ---------- */
/* Слон и «орбы» — как в CTA утверждённой главной (.pm-cta): слон absolute справа,
   контент flex'ится в .us-cta__in с правым отступом под слона. */
.us-cta{background:var(--pm-brand,linear-gradient(100deg,#0aa2d8,#7a4fd8 52%,#e8318f));border-radius:var(--r-xl,32px);
  padding:44px 52px;color:#fff;position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(90,50,170,.3)}
.us-cta__in{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  position:relative;z-index:2;padding-right:320px}
.us-cta__orb{position:absolute;border-radius:50%;background:rgba(255,255,255,.10);pointer-events:none}
.us-cta__orb--1{width:340px;height:340px;right:-90px;top:-160px}
.us-cta__orb--2{width:260px;height:260px;left:16%;bottom:-170px;background:rgba(255,255,255,.07)}
.us-cta__elephant{position:absolute;right:26px;bottom:-12px;height:92%;width:auto;z-index:1;pointer-events:none;
  filter:drop-shadow(0 10px 22px rgba(30,10,60,.35))}
.us-cta__title{font-family:Inglobal,Calibri,sans-serif;font-size:32px;line-height:1.12;font-weight:400;margin:0 0 8px}
.us-cta__text{margin:0;opacity:.92;font-size:17px}
.us-cta .us-btn{background:#fff;color:var(--pm-pink,#e8318f);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.us-cta .us-btn:hover{color:var(--pm-pink,#e8318f)}

/* ---------- лайтбокс ---------- */
.us-lb{position:fixed;inset:0;z-index:99999;background:rgba(10,10,16,.93);display:none;align-items:center;justify-content:center}
.us-lb.is-open{display:flex}
.us-lb__img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:12px}
.us-lb__x,.us-lb__p,.us-lb__n{position:absolute;border:none;color:#fff;cursor:pointer;z-index:2;background:rgba(255,255,255,.14);border-radius:50%}
.us-lb__x{top:14px;right:16px;font-size:30px;line-height:1;width:46px;height:46px;background:none}
.us-lb__p,.us-lb__n{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:24px;transition:background .2s}
.us-lb__p{left:16px}.us-lb__n{right:16px}
.us-lb__p:hover,.us-lb__n:hover{background:var(--pm-pink,#e8318f)}
.us-lb__c{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:#fff;font-size:15px;
  background:rgba(0,0,0,.45);padding:5px 14px;border-radius:14px}

/* ---------- пакеты / тарифы ---------- */
.us-tariffs{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px;align-items:stretch}
.us-tariff{position:relative;height:100%;display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--pm-line,rgba(25,29,38,.09));border-radius:var(--r-lg,24px);
  box-shadow:var(--sh-sm,0 8px 22px rgba(25,20,50,.07));padding:32px 28px 26px;transition:transform .3s,box-shadow .3s}
.us-tariff:hover{transform:translateY(-4px);box-shadow:var(--sh-md,0 18px 44px rgba(25,20,50,.11))}
.us-tariff--hit{border:2px solid transparent;
  background:linear-gradient(#fff,#fff) padding-box,var(--pm-brand,linear-gradient(100deg,#0aa2d8,#7a4fd8 52%,#e8318f)) border-box;
  box-shadow:0 20px 50px rgba(122,79,216,.20)}
.us-tariff__badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);white-space:nowrap;
  background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));color:#fff;font-size:13px;font-weight:800;
  padding:7px 16px;border-radius:999px;box-shadow:var(--sh-pink,0 12px 30px rgba(232,49,143,.3))}
.us-tariff__name{font-family:Inglobal,Calibri,sans-serif;font-size:26px;line-height:1.15;margin:0 0 4px;color:var(--pm-ink,#191d26)}
.us-tariff__sub{font-size:15px;color:#7c879a;margin:0 0 16px}
.us-tariff__price{font-size:32px;font-weight:800;line-height:1;color:var(--pm-pink,#e8318f);margin:0 0 8px}
.us-tariff__time{display:inline-block;font-size:14px;font-weight:700;color:var(--pm-violet,#7a4fd8);
  background:rgba(122,79,216,.10);padding:7px 13px;border-radius:999px;margin:0 0 18px}
.us-tariff .us-list{margin-bottom:20px}
.us-tariff .us-list li{font-size:15.5px}
.us-tariff .us-btn{margin-top:auto;width:100%}
.us-tariff--hit .us-btn{background:var(--pm-brand,linear-gradient(100deg,#0aa2d8,#7a4fd8 52%,#e8318f))}
.us-tariffs__note{margin-top:22px;font-size:15px;color:#5f6b7a;text-align:center}
.us-tariffs__note strong{color:var(--pm-ink,#191d26)}

/* ---------- плитки-иконки: «что входит в праздник», «наши преимущества» ---------- */
.us-perks{display:grid;grid-template-columns:repeat(var(--us-cols,4),minmax(0,1fr));gap:20px}
.us-perk{position:relative;overflow:hidden;background:#fff;border:1px solid var(--pm-line,rgba(25,29,38,.08));
  border-radius:var(--r-lg,24px);box-shadow:0 12px 30px rgba(25,20,50,.09);padding:30px 20px 26px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:15px;transition:transform .25s,box-shadow .25s,border-color .25s}
.us-perk::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--perk-grad)}
.us-perk:hover{transform:translateY(-7px);box-shadow:0 24px 50px var(--perk-glow);border-color:transparent}
.us-perk__ico{width:78px;height:78px;border-radius:24px;display:flex;align-items:center;justify-content:center;
  background:var(--perk-grad);box-shadow:0 14px 28px var(--perk-glow);transition:transform .25s}
.us-perk:hover .us-perk__ico{transform:scale(1.06) rotate(-3deg)}
.us-perk__ico img{max-width:42px;max-height:42px;display:block;filter:brightness(0) invert(1)}
.us-perk__ico i{font-size:31px;color:#fff}
.us-perk__name{font-size:16.5px;font-weight:800;line-height:1.34;color:var(--pm-ink,#191d26)}
.us-perk--blue{--perk-grad:linear-gradient(140deg,#0aa2d8,#57c7ef);--perk-glow:rgba(10,162,216,.32)}
.us-perk--violet{--perk-grad:linear-gradient(140deg,#7a4fd8,#b07bef);--perk-glow:rgba(122,79,216,.32)}
.us-perk--pink{--perk-grad:linear-gradient(140deg,#e8318f,#ff77b3);--perk-glow:rgba(232,49,143,.32)}
/* ---------- «праздничный» вариант преимуществ (fun): конфетные плитки + крупные эмодзи ---------- */
/* число в подписи — крупнее и цветом плитки (текст не меняется, только акцент) */
.us-perks--fun .us-perk__name b{font-weight:900;font-size:1.34em;background:var(--perk-grad);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* конфетная плитка: мягкая заливка в цвет темы вместо строгой белой + цветная рамка */
.us-perks--fun .us-perk{background:var(--perk-soft);border:1.5px solid var(--perk-line);
  box-shadow:0 14px 30px var(--perk-glow-soft);gap:16px}
.us-perks--fun .us-perk::before{height:6px;opacity:.9}
.us-perks--fun .us-perk:hover{transform:translateY(-8px) rotate(-.6deg);
  box-shadow:0 26px 52px var(--perk-glow);border-color:transparent}
/* эмодзи в белом кружке с цветным свечением — крупно и весело */
.us-perk__emoji{width:82px;height:82px;border-radius:50%;background:#fff;
  display:flex;align-items:center;justify-content:center;font-size:42px;line-height:1;
  box-shadow:0 12px 26px var(--perk-glow);transition:transform .28s}
.us-perk:hover .us-perk__emoji{transform:scale(1.1) rotate(-6deg)}
.us-perks--fun .us-perk__name{font-size:17px}
/* мягкие подложки и свечения на каждый цвет темы */
.us-perk--blue{--perk-soft:linear-gradient(160deg,#e9f7fd,#f9fdff);--perk-line:rgba(10,162,216,.20);
  --perk-glow-soft:rgba(10,162,216,.16)}
.us-perk--violet{--perk-soft:linear-gradient(160deg,#f2ecfd,#fbf9ff);--perk-line:rgba(122,79,216,.20);
  --perk-glow-soft:rgba(122,79,216,.16)}
.us-perk--pink{--perk-soft:linear-gradient(160deg,#fdeaf4,#fff8fb);--perk-line:rgba(232,49,143,.20);
  --perk-glow-soft:rgba(232,49,143,.16)}

/* полоса-захват (лид-магнит), раскидывается по странице */
.us-lead__in{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;text-align:center;
  background:linear-gradient(120deg,#fdeef7,#eef4fe);border:2px dashed rgba(232,49,143,.38);
  border-radius:var(--r-xl,32px);padding:24px 32px}
.us-lead__text{margin:0;font-size:20px;font-weight:800;line-height:1.3;color:var(--pm-ink,#191d26);max-width:560px}
.us-lead__btn{flex:none}

/* две одноцветные метки-аудитории в закруглённой рамке на карточке программы */
.us-pcard__aud{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 2px}
.us-pcard__tag{display:inline-flex;align-items:center;font-size:12px;font-weight:700;line-height:1;
  padding:6px 12px;border-radius:999px;border:1.5px solid rgba(122,79,216,.4);
  color:var(--pm-violet,#7a4fd8);background:rgba(122,79,216,.06)}

/* Отзывы и благодарности приезжают блоками главной (pm-*), своих стилей не требуют. */

/* ---------- карточки других программ ---------- */
.us-tiles{display:grid;grid-template-columns:repeat(var(--us-cols,4),minmax(0,1fr));gap:18px}
.us-tile{position:relative;display:block;border-radius:var(--r-md,18px);overflow:hidden;aspect-ratio:4/3;
  box-shadow:var(--sh-md,0 18px 44px rgba(25,20,50,.11));text-decoration:none!important;
  background:#e9edf3 center/cover no-repeat;transition:transform .3s,box-shadow .3s}
.us-tile:hover{transform:translateY(-4px);box-shadow:0 24px 52px rgba(25,20,50,.18)}
.us-tile__in{position:absolute;inset:auto 0 0 0;padding:44px 18px 16px;color:#fff;
  background:linear-gradient(180deg,rgba(12,14,22,0),rgba(12,14,22,.82))}
.us-tile__name{font-size:17px;font-weight:800;line-height:1.25;color:#fff}
.us-tile__price{font-size:15px;font-weight:700;margin-top:6px;color:#ffd7ec}
.us-tile__price del{opacity:.65;font-weight:400;margin-right:8px}

/* ---------- логотипы «нам доверяют» ---------- */
.us-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:26px 44px}
.us-logos img{max-height:52px;max-width:170px;object-fit:contain;display:block}

/* .us-native (обёртка формы) перенесён в site-foot.css (шаг 6а). */

/* ---------- адаптив ---------- */
@media (max-width:1100px){
  .us-hero{grid-template-columns:minmax(0,1fr);gap:26px}
  .us-h1{font-size:36px}
  .us-h2,.us-page .pm-h2{font-size:33px}
  .us-prog.us-cols-3{--us-cols:2}
}
@media (max-width:900px){
  .us-prog.us-cols-2,.us-prog.us-cols-3{grid-template-columns:minmax(0,1fr)}
  .us-prog--flow{columns:1}
  .us-card--aside{grid-template-columns:minmax(0,1fr)}
  .us-card--aside > .us-videos{grid-column:1;grid-row:auto;margin:18px auto 0;max-width:340px}
  .us-cta__in{padding-right:230px}
  .us-cta__elephant{right:8px;height:76%}
}
@media (max-width:680px){
  /* Ролики столбиком: в узкой полосе вертикальные кадры превращались в щели */
  .us-videos{flex-wrap:wrap;gap:16px}
  .us-videos .us-vid{flex:1 1 100%}
  .us-vid__cap{font-size:12px;padding:6px 11px}
  .us-mosaic{gap:8px}
  .us-faq__i summary{font-size:16px;padding:13px 40px 13px 15px}
}
@media (max-width:680px){
  .us-page{font-size:16px}
  .us-section{padding:36px 0}
  .us-h1{font-size:28px}
  .us-h2,.us-page .pm-h2{font-size:27px;margin-bottom:20px}
  .us-h3,.us-block__title{font-size:20px}
  .us-card{padding:22px 20px 18px}
  /* CTA-визитка со слоном на мобильном (правка владельца: «расположение не годится»).
     Было: под слона держали правое поле 140px на ВЕСЬ блок — заголовок и текст сжимались в узкую
     колонку и рвались на 6 коротких строк. Стало: текст ВО ВСЮ ширину, слон выведен из-под текста
     вниз — в один ряд с кнопкой (кнопка слева, слон справа). Для этого .us-cta делаем колонкой-флексом,
     а слона из absolute переводим в поток (order:2, align-self:flex-end) с отрицательным margin-top,
     чтобы он поднялся в полосу кнопки и «стоял» на дне карточки. */
  .us-cta{display:flex;flex-direction:column;padding:24px 20px 16px;
    background:linear-gradient(130deg,#8a3fb8 0%,#e8318f 66%)}
  .us-cta__in{order:1;flex-direction:column;align-items:flex-start;text-align:left;
    justify-content:flex-start;padding-right:0;gap:14px}
  .us-cta__elephant{display:block;position:static;order:2;align-self:flex-end;
    height:118px;width:auto;margin:-78px -4px 0 0;
    filter:drop-shadow(0 8px 16px rgba(30,10,60,.32))}
  /* кнопка не наезжает на слона: ограничиваем её ширину полосой слева от него */
  .us-cta .us-btn{max-width:calc(100% - 140px)}
  /* типографика CTA на мобильном: заголовок компактный, текст ровными строками без «рванины»
     (текст теперь во всю ширину, поэтому строки длинные и читаются спокойно) */
  .us-cta__title{font-size:23px;line-height:1.15}
  .us-cta__text{font-size:16px;line-height:1.45;max-width:100%}
  .us-cta .us-btn{width:auto}
  .us-price__now{font-size:28px}
  .us-btn{width:100%;font-size:17px;padding:14px 20px}
}

/* блоки, видимые только на одной ширине (свап плашек CTA на мобиле, эталонный порядок на десктопе) */
.us-only-mob{display:none}

@media (max-width:680px){
  /* — свап CTA-плашек: на мобиле фиолетовая визитка наверху, светлая полоса-захват внизу — */
  .us-only-desk{display:none}
  .us-only-mob{display:block}

  /* — правка 1: инфо-чипы под H1 в одну длину (все на всю ширину, значение прижато вправо) — */
  .us-chips{flex-direction:column;gap:8px}
  .us-chip{width:100%}
  .us-chip b{margin-left:auto;padding-left:12px;text-align:right}

  /* — правка 2: фото-мозаика без пустых ячеек — крупную плитку выравниваем в квадрат,
       а нечётную последнюю тянем на всю ширину, чтобы не оставалось дыры в ряду — */
  .us-mosaic > .is-big{grid-column:auto;grid-row:auto;aspect-ratio:1}
  .us-mos > .us-mos__t:last-of-type:nth-of-type(odd),
  .us-gal > .us-gal__t:last-of-type:nth-of-type(odd){grid-column:1 / -1;aspect-ratio:16/9}

  /* — «Другие наши программы»: одинаковая высота (все плитки 4/3, без крупной 2×2)
       и чётное число (нечётную последнюю прячем, чтобы не висела одна в ряду) — */
  .us-tiles.us-mosaic > .us-tile{aspect-ratio:4/3;grid-column:auto;grid-row:auto}
  .us-tiles.us-mosaic > .us-tile:last-of-type:nth-of-type(odd){display:none}
}

/* Ровные ряды: последний элемент карточки прижимаем вниз, чтобы низ был на одной линии */
.us-card > :last-child{margin-bottom:0}
.us-perk{height:100%}

/* Подвал .us-foot* перенесён в site-foot.css (шаг 6а, глобально). */

/* Число колонок считает билдер — так, чтобы последний ряд был заполнен целиком */
.us-cols-2{--us-cols:2}
.us-cols-3{--us-cols:3}
.us-cols-4{--us-cols:4}
.us-cols-5{--us-cols:5}

/* Планшет/мобильный: колонок меньше, чем считал билдер, но ряды всё равно ровные */
@media (max-width:1100px){
  .us-perks,.us-gal,.us-tiles{--us-cols:3}
}
@media (max-width:680px){
  .us-perks,.us-gal,.us-tiles{--us-cols:2;gap:10px}
  .us-perks--fun .us-perk{padding:22px 12px 20px}
  .us-perk__emoji{width:66px;height:66px;font-size:34px}
  .us-mos.us-mosaic{--us-cols:2;gap:8px}
  /* Мозаика героя на мобильном: 1 крупное фото на всю ширину + 4 мелких (2×2), остальные скрыты
     (просьба владельца). Первая плитка всегда крупная (независимо от десктопного is-big).
     ⚠️ Ряды по контенту (grid-auto-rows:auto) и обычный поток (flow:row) — иначе dense+1fr плодят
     фантомные пустые ячейки внутри мозаики и зазор перед плашкой Яндекса. */
  .us-hero__vis .us-mos.us-mosaic{grid-auto-flow:row;grid-auto-rows:auto}
  .us-hero__vis .us-mos.us-mosaic > .us-mos__t{aspect-ratio:1;grid-column:auto;grid-row:auto}
  .us-hero__vis .us-mos.us-mosaic > .us-mos__t:first-child{grid-column:1/-1;aspect-ratio:4/3}
  .us-hero__vis .us-mos.us-mosaic > .us-mos__t:nth-of-type(n+6){display:none}
  .us-hero__vis .us-mos__t[data-mmore]::after{content:attr(data-mmore);position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;background:rgba(20,20,30,.5);color:#fff;
    font-weight:800;font-size:18px;border-radius:inherit;pointer-events:none}
}

/* ---------- страница раздела: навигация, карточки программ, теги ---------- */
.us-h1--center{text-align:center;max-width:900px;margin:0 auto 26px}

/* ---------- каталог раздела: слева меню, справа фильтр + карточки ---------- */
/* Защёлка от горизонтального распора: блок контактов в шапке сайта (.agency-contacts__flex,
   фикс. 384px + .hdr-msgr) вылезает за правый край в полосе окна ~1155–1265px и даёт ползунок.
   overflow-x:clip срезает только горизонтальный распор — вертикальную прокрутку и position:sticky
   (боковое меню) НЕ ломает, в отличие от overflow:hidden. Настоящее лечение — в CSS боевой шапки. */
html{overflow-x:clip}
.us-catalog{display:grid;grid-template-columns:256px minmax(0,1fr);gap:30px;align-items:start}
/* Левый столбец залипает и прокручивается ОТДЕЛЬНО от страницы: длинный список меню+фильтра
   не влезает в экран, поэтому ограничиваем высоту вьюпортом и даём собственный скролл
   (overscroll-behavior:contain — докрутив до края, не тянем за собой всю страницу). */
/* top:100px — чтобы верх залипшего меню не уходил под фикс. угловую кнопку-бургер
   #ham-menu (position:fixed, левый верх, нижний край ~95px): иначе она перекрывала
   первый пункт «Аниматоры» и перехватывала клик по нему. */
.us-cat-side{position:sticky;top:100px;align-self:start;
  max-height:calc(100vh - 112px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(122,79,216,.4) transparent}
.us-cat-side::-webkit-scrollbar{width:8px}
.us-cat-side::-webkit-scrollbar-thumb{background:rgba(122,79,216,.32);border-radius:8px}
.us-cat-side::-webkit-scrollbar-thumb:hover{background:rgba(122,79,216,.55)}
.us-cat-side::-webkit-scrollbar-track{background:transparent}
.us-cat-main{min-width:0}

/* меню разделов — вертикальный список в стильной карточке */
.us-catnav{display:flex;flex-direction:column;gap:3px;padding:16px 14px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#fbf5fd 100%);
  border:1px solid rgba(122,79,216,.14);border-radius:22px;box-shadow:0 16px 40px rgba(122,79,216,.12)}
.us-catnav::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f))}
.us-catnav__item{position:relative;display:flex;align-items:center;gap:11px;font-size:15px;font-weight:700;
  line-height:1.25;padding:12px 14px;border-radius:14px;text-decoration:none!important;
  color:var(--pm-ink,#2a2f3a);transition:background .2s,color .2s,transform .2s}
.us-catnav__item::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;
  background:rgba(122,79,216,.32);transition:background .2s,transform .2s}
.us-catnav__item::after{content:"\203A";margin-left:auto;font-size:19px;font-weight:700;line-height:1;
  color:rgba(122,79,216,.4);opacity:0;transform:translateX(-5px);transition:opacity .2s,transform .2s,color .2s}
.us-catnav__item:hover{background:rgba(122,79,216,.09);color:var(--pm-pink,#e8318f);transform:translateX(3px)}
.us-catnav__item:hover::before{background:var(--pm-pink,#e8318f);transform:scale(1.25)}
.us-catnav__item:hover::after{opacity:1;transform:none;color:var(--pm-pink,#e8318f)}
.us-catnav__item.is-active{color:#fff!important;background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));
  box-shadow:0 12px 26px rgba(232,49,143,.32)}
.us-catnav__item.is-active::before{background:#fff}
.us-catnav__item.is-active::after{opacity:1;transform:none;color:rgba(255,255,255,.92)}

/* ---------- фильтр В ЛЕВОМ МЕНЮ: раскрывающиеся группы под активным разделом ---------- */
.us-catnav__sub{display:flex;flex-direction:column;gap:2px;margin:3px 0 6px;padding:4px 0 4px 12px;
  border-left:2px solid rgba(232,49,143,.22)}
.us-fgrp{border-radius:12px}
.us-fgrp__sum{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:9px 12px;
  font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#8b6fc9;
  border-radius:11px;transition:background .15s,color .15s}
.us-fgrp__sum::-webkit-details-marker{display:none}
.us-fgrp__sum::after{content:"";flex:0 0 auto;margin-left:auto;width:7px;height:7px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);
  transition:transform .2s;opacity:.65}
.us-fgrp[open] .us-fgrp__sum{color:var(--pm-pink,#e8318f)}
.us-fgrp[open] .us-fgrp__sum::after{transform:rotate(-135deg)}
.us-fgrp__sum:hover{background:rgba(122,79,216,.08);color:var(--pm-pink,#e8318f)}
.us-fgrp__list{display:flex;flex-direction:column;gap:1px;padding:2px 0 6px 4px}
.us-fsub__tag{font-size:14px;font-weight:600;color:#5b4a86;text-decoration:none!important;
  padding:7px 12px;border-radius:9px;transition:background .15s,color .15s}
.us-fsub__tag:hover{background:rgba(232,49,143,.10);color:var(--pm-pink,#e8318f)}

/* сортировка — компактной строкой над карточками (осталась в контенте) */
.us-sortbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 20px}

/* ---------- (старая карточка-фильтр .us-tagfilter — теперь не используется, стили ниже) ---------- */
.us-tagfilter{margin:0 0 24px;padding:22px 26px;background:#fff;border:1px solid rgba(122,79,216,.12);
  border-radius:24px;box-shadow:0 18px 44px rgba(122,79,216,.10);
  display:flex;flex-direction:column;gap:0}
/* группа = метка-колонка слева + теги справа; между группами тонкая линия */
.us-tgroup{display:grid;grid-template-columns:110px 1fr;align-items:start;gap:6px 18px;padding:14px 0}
.us-tgroup:first-child{padding-top:2px}
.us-tgroup+.us-tgroup{border-top:1px solid rgba(122,79,216,.09)}
.us-tgroup__lbl{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:#a99cc9;padding-top:10px}
.us-tgroup__chips{display:flex;flex-wrap:wrap;gap:9px}
/* тег-чип = ссылка на свою страницу-раздел: белый с обводкой, на hover — градиент с подъёмом */
.us-ftag{font-size:14px;font-weight:700;text-decoration:none!important;color:#6b4bbd;
  padding:9px 16px;border-radius:999px;background:#f6f2fc;border:1.5px solid rgba(122,79,216,.22);
  box-shadow:0 1px 3px rgba(122,79,216,.07);
  transition:background .13s,color .13s,border-color .13s,transform .13s,box-shadow .13s}
.us-ftag:hover{background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));color:#fff!important;
  border-color:transparent;transform:translateY(-2px);box-shadow:0 8px 18px rgba(232,49,143,.28)}
/* сортировка — сегментированный переключатель в капсуле */
.us-sort{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;
  padding-top:16px;border-top:1px solid rgba(122,79,216,.12)}
.us-sort__label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#a99cc9}
.us-sort__chips{display:inline-flex;flex-wrap:wrap;gap:4px;background:#f4f0fb;padding:4px;border-radius:999px}
.us-sort__chip{font:inherit;font-size:14px;font-weight:700;cursor:pointer;border:none;color:#6b4bbd;
  padding:8px 17px;border-radius:999px;background:transparent;transition:background .2s,color .2s,box-shadow .2s}
.us-sort__chip:hover{color:var(--pm-pink,#e8318f)}
.us-sort__chip.is-active{color:#fff!important;background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));
  box-shadow:0 6px 16px rgba(232,49,143,.30)}

/* карточки-плитки: белые, фото сверху, название/цена/«Подробнее» на белом низу + угловая лента */
.us-pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:22px;align-items:stretch}
.us-pcard{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;
  border:1px solid var(--pm-line,rgba(25,29,38,.09));border-radius:var(--r-lg,24px);overflow:hidden;
  text-decoration:none!important;color:inherit;box-shadow:var(--sh-sm,0 8px 22px rgba(25,20,50,.07));
  transition:transform .3s,box-shadow .3s}
.us-pcard:hover{transform:translateY(-5px);box-shadow:var(--sh-md,0 18px 44px rgba(25,20,50,.13))}
.us-pcard__img{display:block;aspect-ratio:1/1;background:#eef1f6 center/cover no-repeat}
.us-pcard__body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.us-pcard__name{font-size:17px;font-weight:800;line-height:1.3;color:var(--pm-ink,#191d26)}
.us-pcard__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 9px;font-size:17px;font-weight:800;color:var(--pm-pink,#e8318f)}
.us-pcard__price del,.us-pcard__price b{white-space:nowrap}
.us-pcard__price b{font-weight:800}
.us-pcard__price del{font-size:14px;font-weight:400;color:#a3adbb}
.us-pcard__go{margin-top:auto;font-size:14px;font-weight:700;color:var(--pm-violet,#7a4fd8)}
.us-pcard:hover .us-pcard__go{color:var(--pm-pink,#e8318f)}
/* угловая лента «хит/VIP/new» */
.us-pcard__ribbon{position:absolute;top:16px;right:-34px;z-index:3;width:130px;transform:rotate(45deg);
  text-align:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#fff;
  padding:5px 0;background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));box-shadow:0 6px 16px rgba(0,0,0,.22)}
.us-pcard__ribbon--vip{background:linear-gradient(95deg,#f7b733,#e8a000)}
.us-pcard__ribbon--new{background:linear-gradient(95deg,#3ec96b,#22a34d)}
.us-pcard--hidden{display:none!important}

.us-more-wrap{display:flex;justify-content:center;margin:32px 0 4px}
.us-more{font:inherit;font-size:16px;font-weight:800;cursor:pointer;padding:15px 42px;border-radius:999px;
  color:var(--pm-pink,#e8318f);background:#fff;border:2px solid rgba(232,49,143,.35);
  box-shadow:0 10px 26px rgba(232,49,143,.14);transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s}
.us-more:hover{color:#fff;background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));border-color:transparent;
  box-shadow:0 16px 34px rgba(232,49,143,.32);transform:translateY(-2px)}
.us-more:active{transform:translateY(0)}

/* общий видео-блок раздела «Наши видео» */
.us-vids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.us-vid{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#0c0714;
  box-shadow:var(--sh-md,0 18px 44px rgba(25,20,50,.13))}
.us-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:900px){.us-vids{grid-template-columns:1fr;gap:16px;max-width:560px;margin:0 auto}}

/* ---------- видео мастер-классов: мозаика равной высоты (verticals узкие, horizontals широкие) ---------- */
/* два ряда: горизонтальные ролики (16:9) сверху в ширину, вертикальные рилсы (9:16) снизу.
   Каждый ролик сохраняет свою пропорцию; ряды центрированы — неполный ряд встаёт по центру,
   без пустого угла. --vw = ширина вертикальной плитки (5 в ряд на десктопе). */
.us-vmosaic{margin-top:8px;--vw:calc((100% - 64px)/5)}
.us-vrow{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.us-vrow--horiz{margin-bottom:16px}
.us-vtile{position:relative;display:block;border:none;padding:0;cursor:pointer;
  overflow:hidden;border-radius:18px;background:#0c0714;box-shadow:0 14px 30px rgba(20,20,60,.18);
  transition:transform .25s,box-shadow .25s}
.us-vtile--horiz{aspect-ratio:16/9;width:calc((100% - 16px)/2)}
.us-vtile--vert{aspect-ratio:9/16;width:var(--vw)}
.us-vtile:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(20,20,60,.26)}
.us-vtile img{width:100%;height:100%;object-fit:cover;display:block}
.us-vtile iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}
.us-vtile iframe.us-vtile__prev{z-index:1;pointer-events:none}
.us-vtile__play{position:absolute;left:50%;top:50%;width:58px;height:58px;transform:translate(-50%,-50%);z-index:3;
  border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 10px 26px rgba(20,20,60,.35);
  display:flex;align-items:center;justify-content:center;transition:transform .25s,background .25s}
.us-vtile__play::after{content:"";margin-left:4px;border-style:solid;border-width:10px 0 10px 17px;
  border-color:transparent transparent transparent var(--pm-pink,#e8318f)}
.us-vtile:hover .us-vtile__play{transform:translate(-50%,-50%) scale(1.12);background:#fff}
.us-vtile[data-loaded] .us-vtile__play{display:none}
@media (max-width:900px){.us-vmosaic{--vw:calc((100% - 24px)/3)}.us-vrow{gap:12px}.us-vrow--horiz{margin-bottom:12px}}
@media (max-width:560px){.us-vmosaic{--vw:calc((100% - 10px)/2)}.us-vrow{gap:10px}.us-vtile--horiz{width:100%}
  /* чётное число вертикальных рилсов: нечётную последнюю прячем, чтобы не висела одна в ряду */
  .us-vrow--vert .us-vtile--vert:last-of-type:nth-of-type(odd){display:none}}

.us-tags{display:flex;flex-wrap:wrap;gap:10px}
.us-tag{font-size:14px;font-weight:700;color:var(--pm-violet,#7a4fd8);background:rgba(122,79,216,.09);
  padding:9px 15px;border-radius:999px;text-decoration:none!important}
.us-tag:hover{background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));color:#fff!important}

/* планшет/мобайл: сайдбар не влезает — колонки в стопку, меню становится лентой чипов */
@media (max-width:900px){
  .us-catalog{grid-template-columns:minmax(0,1fr);gap:18px}
  .us-cat-side{position:static;max-height:none;overflow:visible;padding-right:0}
  .us-catnav{flex-direction:row;flex-wrap:wrap;gap:8px;padding:12px 12px}
  .us-catnav__item{flex:0 0 auto;white-space:nowrap;background:#fff;padding:10px 15px;border-radius:999px;
    box-shadow:0 4px 12px rgba(122,79,216,.10)}
  .us-catnav__item::before,.us-catnav__item::after{display:none}
  .us-catnav__item:hover{transform:none;background:#f3edfc}
  /* фильтр-подменю на мобиле — полосой во всю ширину под чипами-разделами */
  .us-catnav__sub{flex:0 0 100%;border-left:none;padding-left:0;margin:4px 0 2px}
  /* компактнее: раскрытая группа не тянется длинным столбцом ссылок, а показывает
     теги мелкими пилюлями в перенос (экономит высоту на мобиле) */
  .us-fgrp__sum{padding:8px 12px}
  .us-fgrp__list{flex-direction:row;flex-wrap:wrap;gap:6px;padding:2px 2px 8px}
  .us-fsub__tag{font-size:12.5px;padding:6px 11px;border-radius:999px;
    background:#f4eefb;border:1px solid rgba(122,79,216,.18);color:#6b4aa0}
  .us-fsub__tag:hover{background:rgba(232,49,143,.10);border-color:rgba(232,49,143,.3)}
}

@media (max-width:680px){
  .us-wrap{padding:0 18px}
  .us-prose{padding:24px 20px}
  .us-pcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .us-pcard__body{padding:14px 14px 16px}
  .us-pcard__name{font-size:15px}
  .us-pcard__ribbon{font-size:10.5px;top:13px;right:-36px}
  .us-catnav__item{font-size:13.5px;padding:9px 13px}
  .us-tagfilter{padding:16px 16px}
  /* на узком экране метка встаёт над тегами (одна колонка) */
  .us-tgroup{grid-template-columns:1fr;gap:8px;padding:12px 0}
  .us-tgroup__lbl{padding-top:0}
  .us-sort{flex-direction:column;align-items:flex-start;gap:8px}
  .us-sort__chips{flex-wrap:nowrap;max-width:100%;overflow-x:auto;
    scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .us-sort__chips::-webkit-scrollbar{display:none}
  .us-sort__chip{flex:0 0 auto;white-space:nowrap}
  .us-tariff{padding:28px 22px 22px}
}

/* Форма .cta_questions* перенесена в site-foot.css как .us-native .cta_questions* (шаг 6а). */

/* ============================================================================
   Шаг 3 (боевой шаблон service_pm) — дополнения поверх прототипного CSS.
   Файл подключается ТОЛЬКО на страницах service_pm, поэтому правила ниже
   действуют только там. */

/* footer.footer скрыт глобально в site-foot.css (шаг 6а). */

/* штатные хлебные крошки приводятся к виду us-crumbs (разметка header.php не трогается) */
.breadcrumbs_subheader_large{background:#fff;padding:14px 0 6px}
.breadcrumbs_subheader_large .breadcrumbsModule{display:contents}
.breadcrumbs_subheader_large>.container>ul.breadcrumbsModule{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;padding:0;list-style:none}
.breadcrumbs_subheader_large li{list-style:none;display:inline-flex;align-items:center;margin:0}
.breadcrumbs_subheader_large li.breadcrumbs_item::after{content:'\203A';color:#b9bfcc;margin-left:10px;font-style:normal}
.breadcrumbs_subheader_large .link{font-family:Nunito,Calibri,sans-serif;font-style:normal;font-size:14px;color:#8a8f9c;text-decoration:none}
.breadcrumbs_subheader_large .link:hover{color:#6b3fb5}
.breadcrumbs_subheader_large .link-home{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#f1ecfa}
.breadcrumbs_subheader_large .link-home i{color:#6b3fb5;font-size:13px}
.breadcrumbs_subheader_large li.no_link{font-family:Nunito,Calibri,sans-serif;font-style:normal;font-size:14px;color:#3c4152;font-weight:600}

/* подпись плитки «Что входит» (PREVIEW_TEXT элементов INCLUDE_PRICE — текст сохраняется) */
.us-inc__d{display:block;margin-top:6px;font-size:14px;line-height:1.45;color:#5e6474}

/* подпись о ценах на страницах без цены: отдельный абзац после вводного текста, как в старом шаблоне */
.us-note--lead{font-size:15px;color:#5e6474;margin:18px 0 2px}

/* сноска о ценах не должна липнуть к кнопкам (правка владельца 2026-08-08) */
.us-page .us-order .us-note{margin-top:18px}

/* ============================================================================
   pv-док («Пенная», спа 4122, духи 151): адаптация блоков, свёрстанных ДО
   прототипа, под новый дизайн (правка владельца 2026-08-08). Текст и разметка
   в БД не тронуты — только внешний CSS-слой поверх встроенных стилей дока. */

/* кнопки дока — фирменная пилюля нового шаблона */
.us-page .us-doc .button.button-primary{display:inline-flex;align-items:center;justify-content:center;
  border:none!important;cursor:pointer;font-family:Nunito,Calibri,sans-serif!important;
  font-size:18px!important;font-weight:700!important;line-height:1.2!important;color:#fff!important;
  padding:15px 30px!important;border-radius:999px!important;text-transform:none!important;
  background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f))!important;
  box-shadow:var(--sh-pink,0 12px 30px rgba(232,49,143,.3))!important;
  transition:transform .25s,box-shadow .25s}
.us-page .us-doc .button.button-primary:hover{transform:translateY(-2px);color:#fff!important;
  background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f))!important;
  box-shadow:0 16px 36px rgba(232,49,143,.38)!important}
.us-page .us-doc .pv-cta--ghost .button{background:#fff!important;color:var(--pm-violet,#7a4fd8)!important;
  border:2px solid rgba(122,79,216,.35)!important;box-shadow:none!important}
.us-page .us-doc .pv-cta--ghost .button:hover{color:var(--pm-violet,#7a4fd8)!important;
  border-color:var(--pm-violet,#7a4fd8)!important;box-shadow:0 10px 26px rgba(122,79,216,.18)!important}
.us-page .us-doc .pv-cta__sub,.us-page .us-doc .pv-strip__hint{color:#8a94a4!important}

/* заголовки дока — кегли и отступы секций нового шаблона (гарнитура уже форсится в HEAD) */
.us-page .us-doc h2{font-size:34px!important;line-height:1.12!important;font-weight:400!important;
  color:var(--pm-ink,#191d26)!important;margin:34px 0 18px!important}
.us-page .us-doc h3{font-size:22px!important;line-height:1.25!important;font-weight:400!important;
  color:var(--pm-ink,#191d26)!important}

/* карточки и плитки дока — белые, скруглённые, с мягкой нейтральной тенью нового дизайна */
.us-page .us-doc .pv-cols2>div{border-radius:24px!important;border:1px solid rgba(25,29,38,.09)!important;
  border-top:1px solid rgba(25,29,38,.09)!important;box-shadow:0 14px 34px rgba(25,20,50,.08)!important;
  padding:26px 28px 24px!important}
.us-page .us-doc .pv-loc__card{border-radius:22px!important;border:none!important;
  box-shadow:0 14px 34px rgba(25,20,50,.10)!important}
.us-page .us-doc .pv-benef li,.us-page .us-doc .pv-steps__list>*,.us-page .us-doc .pv-steps__side,
.us-page .us-doc .pv-safe li{border-radius:18px!important;border:1px solid rgba(25,29,38,.08)!important;
  box-shadow:0 10px 26px rgba(25,20,50,.07)!important;background:#fff!important}
.us-page .us-doc .pv-scard{border-radius:18px!important}

/* FAQ дока — как аккордеон нового шаблона */
.us-page .us-doc .pv-faq__item{border-radius:18px!important;border:1px solid rgba(25,29,38,.09)!important;
  background:linear-gradient(150deg,#fff 0%,#fbf7fd 100%)!important;overflow:hidden}
.us-page .us-doc .pv-faq__item:hover{border-color:rgba(122,79,216,.35)!important}
.us-page .us-doc .pv-faq__item[open]{background:#fff!important;border-color:rgba(232,49,143,.4)!important;
  box-shadow:0 14px 34px rgba(25,20,50,.09)!important}
.us-page .us-doc .pv-faq__item summary{color:var(--pm-ink,#191d26)!important;font-size:17px!important;
  padding:17px 20px!important}
.us-page .us-doc .pv-faq__a{color:#3c4152!important}

@media(max-width:680px){
  .us-page .us-doc h2{font-size:28px!important;margin:26px 0 14px!important}
  .us-page .us-doc h3{font-size:19px!important}
}

/* запасной режим подгонки мозаик (mosaicfit): ровная сетка одинаковых плиток,
   когда мозаику с крупными плитками не выровнять обрезкой хвоста */
.us-mosfit-flat > .is-big{grid-column:auto!important;grid-row:auto!important;aspect-ratio:1!important}
.us-tiles.us-mosfit-flat > .us-tile{aspect-ratio:4/3!important}
.us-tiles.us-mosfit-flat > .is-big{aspect-ratio:4/3!important}

/* подпись-остаток свойства VIDEO (голая ссылка на ролик) */
.us-vid__note{margin:14px 0 0;text-align:center;font-size:14px;color:#8a94a4;word-break:break-all}

/* ==================================================================
   Шаг 6: единый шаблон разделов-листингов (section_pm.php)
   ================================================================== */
.us-h1--center{text-align:center}
.us-sec-cat{padding-top:26px}
.us-sec-cat .us-h1{margin:0 0 28px}

/* панель штатного смарт-фильтра (#flts) в новом сайдбаре: белая карточка, Nunito.
   Кнопка мобильного фильтра #flt_btn и оверлей на мобиле — штатные (template_styles). */
.us-page .filters_left{width:auto;margin:14px 0 0;float:none}
.us-page .filters_left .filters_section{background:#fff;border:1px solid var(--pm-line,rgba(25,29,38,.09));
  border-radius:18px;padding:8px 10px;box-shadow:var(--sh-sm,0 8px 22px rgba(25,20,50,.07));margin:0 0 10px}
.us-page .filters_left ul>li>a,.us-page .filters_left ul>li>ul>li a{
  font-family:Nunito,Calibri,sans-serif;font-size:15px;font-weight:700;color:#3f3550}
.us-page .filters_left ul>li>a>i:first-child{width:34px;height:34px;font-size:17px}

/* карточки: сброс наследия .mc_card/.grid_item из template_styles */
.us-page .us-pcards>.us-pcard.mc_card{width:auto;max-width:none;margin:0;padding:0;float:none}
/* лента vip при совмещении с хит/new опускается ниже */
.us-pcard__ribbon--shift{top:44px}

/* штатный AJAX-пагинатор «Ещё» (show_more) — пилюлей по центру */
.us-page .out-content{display:block;text-align:center}
.us-page .out-content .us-pcards{text-align:left}
.us-page .out-content .load_more,.us-page .out-content .button-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;
  font-family:Nunito,Calibri,sans-serif;font-size:16px;font-weight:800;color:var(--pm-violet,#7a4fd8);
  background:#fff;border:2px solid rgba(122,79,216,.35);border-radius:999px;padding:14px 40px;
  margin:28px auto 0;float:none;width:auto;height:auto;min-height:0;box-shadow:none;text-transform:none}
.us-page .out-content .load_more:hover{color:#fff;background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));
  border-color:transparent}
.us-page .out-content .load_more .icon,.us-page .out-content .button-secondary .icon{display:none}

/* кнопка-CTA раздела (UF_BUTTON) под сеткой */
.us-sec-btnwrap{display:flex;justify-content:center;margin:26px 0 0}

/* сортировка: чипы — ссылки */
.us-page a.us-sort__chip{color:#6b4bbd;text-decoration:none!important}
.us-page a.us-sort__chip:hover{color:var(--pm-pink,#e8318f)}
.us-page a.us-sort__chip.is-active{color:#fff!important}

/* «Смотрите также»: штатная лента SEO-хэштегов и города пенной — чипами */
.us-page .us-sec-tags .hashtag_filters_section{background:none;border:0;padding:0;margin:0;box-shadow:none}
.us-page .us-sec-tags .modulHashtag{padding:0;margin:0;background:none}
.us-page .us-sec-tags .hashtag_list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.us-page .us-sec-tags ul.hashtag_list.city_block{margin-top:12px}
.us-page .us-sec-tags .hashtag_item{margin:0;padding:0}
.us-page .us-sec-tags .hashtag_link{display:inline-block;font-family:Nunito,Calibri,sans-serif;font-size:14px;
  font-weight:700;color:var(--pm-violet,#7a4fd8);background:rgba(122,79,216,.09);
  border:1px solid rgba(122,79,216,.16);border-radius:999px;padding:9px 16px;
  text-decoration:none!important;transition:.18s;line-height:1.3}
.us-page .us-sec-tags .hashtag_link:hover,.us-page .us-sec-tags .hashtag_link.active{
  background:var(--pm-grad,linear-gradient(95deg,#ff6ab5,#e8318f));color:#fff!important;border-color:transparent}
.us-page .us-sec-tags .us-tags--penn{margin-top:14px}

/* пустое отложенное описание (tag-страницы без seo_text_for_tags) — блок прячется */
.us-prose--seo:empty{display:none}
.us-sec-desc:has(.us-prose--seo:empty){display:none}

/* «Наши видео»: несколько роликов — сеткой, один — одиночной полосой по центру */
.us-videos--grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.us-videos--solo{max-width:760px;margin:0 auto}
@media screen and (max-width:680px){
  .us-videos--grid{grid-template-columns:minmax(0,1fr)}
}
