/* =====================================================================================================================
   АДАПТИВ — общие компоненты страниц услуг и разделов (Б-015…Б-050). Планшет ≤1199px, телефон ≤767px.
   Шапки блоков (svc-memorial-design__head/title/sub) — общий словарь для многих секций; правило шапки — в Б-015.
   ===================================================================================================================== */

/* Поля секций страниц услуг: .service-page > section — 56px с !important (bundles/core.css), поэтому тоже !important.
   Общее для всех секций лендингов услуг (и чужих уникальных блоков на них). */
@media (max-width: 1199px) {
  .service-page > section { padding-left: 28px !important; padding-right: 28px !important; }
}
@media (max-width: 767px) {
  .service-page > section { padding-left: 16px !important; padding-right: 16px !important; }
}

/* Кнопка «Показать все (N)» (общая для блоков этого файла): .lnd-more.only-m — только телефон,
   .lnd-more.only-tm.hide-m — только планшет. Нажатие добавляет секции класс .is-all и убирает кнопку. */
@media (max-width: 1199px) {
  .lnd-more {
    align-items: center; justify-content: center; gap: 8px;
    width: 100%; min-height: 52px; padding: 12px 16px;
    border: 1.5px dashed var(--line, #d9dcd4); border-radius: 14px; background: transparent;
    font: inherit; font-size: 15px; font-weight: 700; color: var(--green-700);
  }
  .lnd-more svg { width: 18px; height: 18px; flex: none; }
  .lnd-more.only-tm { display: flex; }
}
@media (max-width: 767px) {
  .lnd-more { display: flex; }
}

/* Б-015 «Что нужно сделать на участке?» — класс svc-memorial-design (+ общая шапка и плашка svc-memorial-design__cta,
   которые стоят во многих блоках услуг) */
@media (max-width: 1199px) {
  .svc-memorial-design__title { font-size: 36px; }
  .svc-memorial-design__sub { font-size: 16px; max-width: 640px; }

  .svc-memorial-design .svc-memorial-design__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .svc-memorial-design .svc-mem-design-card__pic { aspect-ratio: 16 / 9; }
  .svc-memorial-design .svc-mem-design-card__foot { gap: 12px 16px; padding: 18px 20px; }
  .svc-memorial-design .svc-mem-design-card__ico { width: 44px; height: 44px; }
  .svc-memorial-design .svc-mem-design-card__name { font-family: 'Lora', Georgia, serif; font-weight: 600; font-size: 18px; }
  .svc-memorial-design .svc-mem-design-card__desc { font-size: 15px; line-height: 1.45; }
  .svc-memorial-design .svc-mem-design-card__go { width: 40px; height: 40px; }

  /* Плашка-призыв (общая для многих блоков): иконка | заголовок + текст | кнопка */
  .svc-memorial-design__cta { gap: 16px 22px; padding: 24px; }
  .svc-memorial-design__cta-title { font-size: 22px; }
  .svc-memorial-design__cta-desc { font-size: 15px; }
  .svc-memorial-design__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .svc-memorial-design__head { margin-bottom: 20px; }
  .svc-memorial-design__title { font-size: 28px; line-height: 1.15; }

  .svc-memorial-design .svc-memorial-design__grid { grid-template-columns: 1fr; gap: 12px; }
  /* Строка: миниатюра 80px (иконка — белым кругом в её углу) | название | стрелка; текст — ниже на всю ширину. */
  .svc-memorial-design .svc-mem-design-card {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr) 40px;
    gap: 12px 14px;
    align-items: center;
    padding: 14px;
  }
  .svc-memorial-design .svc-mem-design-card:not(:has(.svc-mem-design-card__pic)) { grid-template-columns: 44px minmax(0, 1fr) 40px; }
  .svc-memorial-design .svc-mem-design-card__foot,
  .svc-memorial-design .svc-mem-design-card__text { display: contents; }
  .svc-memorial-design .svc-mem-design-card > *,
  .svc-memorial-design .svc-mem-design-card__foot > *,
  .svc-memorial-design .svc-mem-design-card__text > * { grid-column: 1 / -1; }
  .svc-memorial-design .svc-mem-design-card .svc-mem-design-card__pic {
    grid-column: 1; grid-row: 1;
    width: 80px; aspect-ratio: 1 / 1; border-radius: 12px;
  }
  .svc-memorial-design .svc-mem-design-card .svc-mem-design-card__ico { grid-column: 1; grid-row: 1; }
  .svc-memorial-design .svc-mem-design-card__pic ~ .svc-mem-design-card__foot .svc-mem-design-card__ico {
    position: relative; z-index: 1;
    align-self: end; justify-self: end;
    width: 32px; height: 32px; margin: 0 6px 6px 0;
    background: #fff; box-shadow: 0 4px 10px -6px rgba(20,24,26,.4);
  }
  .svc-memorial-design .svc-mem-design-card__pic ~ .svc-mem-design-card__foot .svc-mem-design-card__ico [data-lucide] { width: 16px; height: 16px; }
  .svc-memorial-design .svc-mem-design-card .svc-mem-design-card__name { grid-column: 2; grid-row: 1; font-size: 17px; margin: 0; }
  .svc-memorial-design .svc-mem-design-card .svc-mem-design-card__go { grid-column: 3; grid-row: 1; }
  .svc-memorial-design .svc-mem-design-card:not(:has(.svc-mem-design-card__go)) .svc-mem-design-card__name { grid-column: 2 / -1; }
  /* Больше 6 карточек (эпитафия — 8): первые 6 + «Показать все (N)» (.lnd-more в разметке) */
  .svc-memorial-design:has(> .lnd-more) .svc-memorial-design__grid > :nth-child(n+7) { display: none; }
  .svc-memorial-design > .lnd-more { margin-top: 12px; }

  /* Плашка на телефоне (макеты Б-286, Б-304 и др.): иконка слева, заголовок и текст справа от неё; кнопка (52px)
     и прочее — на всю ширину */
  .svc-memorial-design__cta { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; padding: 20px; align-items: start; }
  .svc-memorial-design__cta-ico { width: 48px; height: 48px; }
  .svc-memorial-design__cta-title { font-size: 20px; margin: 0 0 6px; }
  .svc-memorial-design__cta > :not(.svc-memorial-design__cta-ico):not(.svc-memorial-design__cta-text) { grid-column: 1 / -1; }
  .svc-memorial-design__cta-btn { width: 100%; justify-content: center; white-space: normal; text-align: center; }
}

/* Б-016 «Выберите уровень благоустройства» — класс svc-memorial-pricing (тарифы, «что влияет на стоимость»,
   плашка восстановления bm-restore на /blagoustrojstvo/blagoustrojstvo-mogil) */
@media (max-width: 1199px) {
  .svc-memorial-pricing__title { font-size: 36px; }
  .svc-memorial-pricing__sub { font-size: 16px; max-width: 640px; }

  .svc-memorial-pricing .svc-memorial-pricing__tiers { gap: 16px; }
  /* 4 карточки цен (вариант-3) — сетка 2×2 */
  .svc-memorial-pricing .svc-memorial-pricing__tiers:has(> :nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-memorial-pricing .svc-mem-price-card__pic { aspect-ratio: 3 / 2; }
  .svc-memorial-pricing .svc-mem-price-card__body { padding: 18px 18px 20px; }
  .svc-memorial-pricing .svc-mem-price-card__price { font-size: 26px; }
  .svc-memorial-pricing .svc-mem-price-card__list li { font-size: 14px; align-items: flex-start; }
  .svc-memorial-pricing .svc-mem-price-card__btn { min-height: 48px; }

  .svc-memorial-pricing .svc-memorial-pricing__factors-grid,
  .svc-memorial-pricing .svc-memorial-pricing__factors-grid.svc-oform-factors--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
  .svc-memorial-pricing .svc-mem-factor__name { font-size: 15px; }
  .svc-memorial-pricing .svc-mem-factor__desc { font-size: 14px; }

  .svc-memorial-pricing .svc-granit-prices__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-memorial-pricing .kv-parts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-memorial-pricing .ek-estimate { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-memorial-pricing .rf-price__grid { grid-template-columns: minmax(0, 380px) minmax(0, 1fr); }

  .svc-memorial-pricing .bm-restore { gap: 16px 20px; padding: 22px 24px; }
}
@media (max-width: 767px) {
  .svc-memorial-pricing__head { margin-bottom: 20px; }
  .svc-memorial-pricing__title { font-size: 28px; line-height: 1.15; }

  /* Тарифы — лента (m-swipe + data-dots в разметке): 1 карточка + край следующей */
  .svc-memorial-pricing .svc-memorial-pricing__tiers { margin-bottom: 20px; }
  .svc-memorial-pricing .svc-mem-price-card__price { font-size: 28px; }
  .svc-memorial-pricing .svc-mem-price-card__list li { font-size: 15px; }
  .svc-memorial-pricing .svc-mem-price-card__btn { min-height: 52px; }

  .svc-memorial-pricing .svc-memorial-pricing__factors-title { font-size: 21px; }
  .svc-memorial-pricing .svc-memorial-pricing__factors-grid,
  .svc-memorial-pricing .svc-memorial-pricing__factors-grid.svc-oform-factors--6 { grid-template-columns: 1fr; gap: 16px; padding: 18px 16px; }

  .svc-memorial-pricing .svc-granit-prices__grid { grid-template-columns: 1fr; }
  .svc-memorial-pricing .kv-parts { grid-template-columns: 1fr; } /* вариант /tovary/kruglye-vazy: 3 колонки не помещались */
  .svc-memorial-pricing .ek-estimate { grid-template-columns: minmax(0, 1fr); } /* вариант /pamjatniki/eksklyuzivnye-pamjatniki */
  .svc-memorial-pricing .ep-terms,
  .svc-memorial-pricing .sk-price__cols, /* скульптура, фотокерамика, готовые памятники: две колонки выходили за край */
  .svc-memorial-pricing .fk-price,
  .svc-memorial-pricing .svc-ready-price-split,
  .svc-memorial-pricing .rf-price__grid,
  .svc-memorial-pricing .rf-price__depends-list { grid-template-columns: minmax(0, 1fr); }
  .svc-memorial-pricing .rf-price__depends .svc-memorial-compose__cta-btn { width: 100%; justify-content: center; white-space: normal; text-align: center; }

  .svc-memorial-pricing .bm-restore { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; padding: 20px; }
  .svc-memorial-pricing .bm-restore__text { display: contents; }
  .svc-memorial-pricing .bm-restore__title { margin: 0; }
  .svc-memorial-pricing .bm-restore__price { display: block; margin: 4px 0 0; }
  .svc-memorial-pricing .bm-restore__desc,
  .svc-memorial-pricing .bm-restore > .svc-memorial-design__cta-btn { grid-column: 1 / -1; }
}

/* Б-017 «Примеры задач по благоустройству» — класс svc-memorial-requests (карточки задач, зелёная плашка
   svc-memorial-promo, строка пунктов svc-memorial-steps). Карточка «Создать свою заявку» на телефоне — копия
   .lnd-lead-solo под лентой (в ленте она .hide-m). */
@media (max-width: 1199px) {
  .svc-memorial-requests__title { font-size: 36px; }
  .svc-memorial-requests__sub { font-size: 16px; max-width: 640px; }

  .svc-memorial-requests .svc-memorial-requests__cards,
  .svc-memorial-requests .svc-memorial-requests__cards--stekla-types { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; overflow: visible; }
  .svc-memorial-requests .svc-mem-lead { min-height: 0; }
  .svc-memorial-requests .svc-mem-lead__pic { height: auto; aspect-ratio: 2 / 1; }
  .svc-memorial-requests .svc-mem-lead__name { font-size: 16px; }
  /* «Создать свою заявку» — на 2 колонки, горизонтально: иконка | заголовок, текст, ссылка */
  .svc-memorial-requests .svc-mem-lead.svc-oform-lead-cta:not(.lnd-lead-solo) {
    grid-column: span 2;
    display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 6px 18px;
    align-content: center; padding: 24px;
  }
  .svc-memorial-requests .svc-oform-lead-cta__ico { grid-row: 1 / span 3; align-self: start; }
  .svc-memorial-requests .svc-oform-lead-cta > :not(.svc-oform-lead-cta__ico) { grid-column: 2; }
  .svc-memorial-requests .svc-oform-lead-cta__text { font-size: 15px; }

  .svc-memorial-promo { grid-template-columns: 56px minmax(0, 1fr); gap: 18px 20px; padding: 26px 28px; }
  .svc-memorial-promo__title { font-size: 24px; }
  .svc-memorial-promo__desc { font-size: 15px; max-width: none; }
  .svc-memorial-promo__action,
  .svc-memorial-promo > a { grid-column: 2; justify-self: start; }
  .svc-memorial-promo__action { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
  .svc-memorial-promo__btn { min-height: 52px; }
  .svc-memorial-promo__note { font-size: 13px; }

  .svc-memorial-steps { font-size: 14px; }
}
@media (max-width: 767px) {
  .svc-memorial-requests__title { font-size: 28px; line-height: 1.15; }

  /* Лента задач (m-swipe + data-dots в разметке) */
  .svc-memorial-requests .svc-memorial-requests__cards { margin-bottom: 12px; overflow-y: hidden; } /* планшетное overflow: visible ломало ленту */
  .svc-memorial-requests .svc-mem-lead { padding: 14px 14px 16px; }
  .svc-memorial-requests .lnd-lead-solo {
    display: grid; gap: 6px 14px;
    margin-bottom: 20px; padding: 20px;
  }

  .svc-memorial-promo { grid-template-columns: 52px minmax(0, 1fr); gap: 14px; padding: 22px 18px 20px; }
  .svc-memorial-promo__ico { width: 52px; height: 52px; }
  .svc-memorial-promo__text { display: contents; }
  .svc-memorial-promo__title { font-size: 22px; margin: 0; align-self: center; }
  .svc-memorial-promo__desc,
  .svc-memorial-promo__action,
  .svc-memorial-promo > a { grid-column: 1 / -1; }
  .svc-memorial-promo__action { flex-direction: column; align-items: stretch; }
  .svc-memorial-promo__btn { justify-content: center; white-space: normal; text-align: center; }
  .svc-memorial-promo__note { justify-content: center; }

  .svc-memorial-steps { flex-direction: column; align-items: flex-start; gap: 8px; font-size: 15px; padding: 16px; }
  .svc-memorial-steps__dot { display: none; }
}

/* Б-018 «Примеры барельефов» — класс svc-granit-gallery (+ фильтры-кнопки svc-oform-filters, общие с Б-023).
   Телефон: первый кадр крупно, далее 2 колонки, видно 5 + «Показать все (N)» (.lnd-more--gal в разметке, если кадров > 5).
   Счёт идёт по видимым кадрам (фильтр Alpine прячет кадры inline-стилем display: none). */
@media (max-width: 1199px) {
  .svc-oform-filters { gap: 8px; }
  .svc-oform-filters__btn { min-height: 44px; }

  .svc-granit-gallery .svc-granit-gallery__grid,
  .svc-granit-gallery .svc-stekla-gallery__grid,
  .svc-granit-gallery .svc-granit-gallery__grid.pg-gallery__grid,
  .svc-granit-gallery .svc-granit-gallery__grid.uc-gallery__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .svc-granit-gallery .bf-masonry { grid-auto-rows: 200px; }
  /* 3 колонки: последний широкий кадр — на всю ширину, чтобы мозаика закрылась без дыр */
  .svc-granit-gallery .bf-masonry > .bf-masonry__item--wide:last-child { grid-column: 1 / -1; }
  .svc-granit-gallery .bf-masonry > :nth-last-child(2 of .bf-masonry__item):not(.bf-masonry__item--wide):not(.bf-masonry__item--tall) { grid-column: span 2; }
  /* Ровная сетка (polirovka — 5 кадров, foto-na-mogilu — 8): если в последнем ряду 2 кадра, последний — на 2 колонки */
  .svc-granit-gallery .svc-granit-gallery__grid:not(.bf-masonry) > :last-child:nth-child(3n+2) { grid-column: span 2; aspect-ratio: auto; }
}
@media (max-width: 767px) {
  /* Фильтры — лента кнопок до края экрана */
  .svc-oform-filters {
    flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
    margin-left: -16px; margin-right: -16px; padding: 0 16px 2px; scroll-padding-inline: 16px;
  }
  .svc-oform-filters::-webkit-scrollbar { display: none; }
  .svc-oform-filters__btn { flex: 0 0 auto; white-space: nowrap; }

  .svc-granit-gallery .svc-granit-gallery__grid,
  .svc-granit-gallery .svc-stekla-gallery__grid,
  .svc-granit-gallery .svc-granit-gallery__grid.pg-gallery__grid,
  .svc-granit-gallery .svc-granit-gallery__grid.uc-gallery__grid,
  .svc-granit-gallery .bf-masonry {
    grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; grid-auto-flow: row; gap: 10px;
  }
  .svc-granit-gallery .svc-granit-gallery__grid > *,
  .svc-granit-gallery .svc-granit-gallery__grid:not(.bf-masonry) > :last-child:nth-child(3n+2) {
    grid-column: auto; grid-row: auto; height: auto; min-height: 0; aspect-ratio: 174 / 210;
  }
  .svc-granit-gallery .svc-granit-gallery__grid > :nth-child(1 of :not([style*="display: none"])) { grid-column: 1 / -1; aspect-ratio: 358 / 258; }
  .svc-granit-gallery:not(.is-all) .svc-granit-gallery__grid > :nth-child(n+6 of :not([style*="display: none"])) { display: none; }
  .svc-granit-gallery:not(:has(.svc-granit-gallery__grid > :nth-child(6 of :not([style*="display: none"])))) .lnd-more--gal { display: none; }
  .svc-granit-gallery .lnd-more--gal { margin-top: 12px; }
  .svc-granit-gallery .svc-granit-gallery__zoom { top: 8px; right: 8px; bottom: auto; width: 32px; height: 32px; }
  .svc-granit-gallery .svc-oform-shot__meta { padding: 22px 10px 8px; font-size: 12px; }
}

/* Б-019 «Из чего состоит благоустройство» — класс svc-memorial-compose (+ плашка svc-memorial-compose__cta, стоит и в
   других блоках). Разметка: верхний ряд без ленты, нижний — t-swipe + data-dots; кнопка «Показать все (N)» — .lnd-more
   (только телефон, есть в разметке, только если элементов > 6). */
@media (max-width: 1199px) {
  .svc-memorial-compose__head { gap: 24px; }
  .svc-memorial-compose__title { font-size: 36px; }
  .svc-memorial-compose__sub { font-size: 16px; }
  .svc-memorial-compose__badge { flex: 0 0 280px; max-width: 280px; }

  .svc-memorial-compose .svc-memorial-compose__parts--top,
  .svc-memorial-compose .svc-memorial-compose__parts--top.svc-oform-parts--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-memorial-compose .svc-memorial-compose__parts--top .svc-mem-part { grid-template-columns: 140px minmax(0, 1fr); align-items: stretch; }
  .svc-memorial-compose .svc-memorial-compose__parts--top .svc-mem-part:not(:has(.svc-mem-part__thumb)) { grid-template-columns: minmax(0, 1fr); }
  .svc-memorial-compose .svc-memorial-compose__parts--top .svc-mem-part__thumb { min-width: 140px; height: auto; min-height: 160px; aspect-ratio: auto; }
  .svc-memorial-compose .svc-mem-part__name { font-size: 16px; }
  .svc-memorial-compose .svc-mem-part__text { font-size: 14.5px; }
  .svc-memorial-compose .svc-mem-part__link { font-size: 14px; min-height: 32px; }

  /* Нижний ряд — лента 3 + край (t-swipe); карточка — фото 16:9 сверху */
  .svc-memorial-compose .svc-memorial-compose__parts--bottom { --t-cards: 3; }
  .svc-memorial-compose .svc-memorial-compose__parts--bottom .svc-mem-part { grid-template-columns: 1fr; align-content: start; }
  .svc-memorial-compose .svc-memorial-compose__parts--bottom .svc-mem-part:has(> .svc-mem-part__thumb) { padding: 0; overflow: hidden; }
  .svc-memorial-compose .svc-memorial-compose__parts--bottom .svc-mem-part__thumb { width: 100%; min-width: 0; height: auto; min-height: 0; aspect-ratio: 16 / 9; border-radius: 0; }
  .svc-memorial-compose .svc-memorial-compose__parts--bottom .svc-mem-part__thumb ~ .svc-mem-part__body { padding: 0 16px 16px; }

  .svc-memorial-compose__cta { gap: 16px 22px; padding: 24px; }
  .svc-memorial-compose__cta-title { font-size: 22px; }
  .svc-memorial-compose__cta-desc { font-size: 15px; }
  .svc-memorial-compose__cta-btn { min-height: 52px; }

  /* Вариант «Какие данные помогут найти могилу» (pm-data): плашка «Искомый человек» — фото 4:3 слева, текст справа */
  .svc-memorial-compose .pm-data__center { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
  .svc-memorial-compose .pm-data__pic { aspect-ratio: 4 / 3; }
  .svc-memorial-compose .pm-data__center-title { font-size: 24px; }
}
@media (max-width: 767px) {
  .svc-memorial-compose { display: flex; flex-direction: column; }
  .svc-memorial-compose > .svc-memorial-compose__head { order: -2; flex-direction: column; gap: 16px; margin-bottom: 16px; }
  .svc-memorial-compose > .svc-memorial-compose__visual,
  .svc-memorial-compose > .pm-data__center { order: -1; margin: 0 0 16px; }
  .svc-memorial-compose:not(.svc-memorial-compose--project) .svc-memorial-compose__visual img { aspect-ratio: 4 / 3; }
  .svc-memorial-compose .pm-data__center { grid-template-columns: 1fr; gap: 16px; padding: 14px 14px 18px; }
  .svc-memorial-compose .pm-data__center-ico { width: 48px; height: 48px; }
  .svc-memorial-compose .pm-data__center-title { font-size: 21px; }
  /* Вариант «Что входит» (zp-compose): колонки пунктов и фото — друг под другом */
  .svc-memorial-compose .zp-compose__layout,
  .svc-memorial-compose .zp-compose__layout--no-pic { grid-template-columns: 1fr; gap: 12px; }
  .svc-memorial-compose .mz-macro { grid-template-columns: minmax(0, 1fr); }
  .svc-memorial-compose__title { font-size: 28px; line-height: 1.15; }
  .svc-memorial-compose__badge { flex: none; max-width: none; width: 100%; font-size: 14px; }

  /* Все элементы — одним списком: миниатюра 96px слева, иконка + название, текст, «Подробнее →» */
  .svc-memorial-compose .svc-memorial-compose__parts.svc-memorial-compose__parts--top,
  .svc-memorial-compose .svc-memorial-compose__parts.svc-memorial-compose__parts--bottom {
    display: grid; grid-template-columns: 1fr; gap: 10px;
    margin: 0 0 10px; padding: 0; overflow: visible;
  }
  .svc-memorial-compose .svc-memorial-compose__parts--bottom > * { flex: none; }
  .svc-memorial-compose .svc-memorial-compose__parts .svc-mem-part,
  .svc-memorial-compose .svc-memorial-compose__parts--bottom .svc-mem-part:has(> .svc-mem-part__thumb) { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 12px; align-items: stretch; }
  .svc-memorial-compose .svc-memorial-compose__parts .svc-mem-part:not(:has(.svc-mem-part__thumb)) { grid-template-columns: 1fr; padding: 16px; }
  .svc-memorial-compose .svc-memorial-compose__parts .svc-mem-part__thumb { width: 96px; min-width: 96px; min-height: 112px; aspect-ratio: auto; border-radius: 12px; }
  .svc-memorial-compose .svc-memorial-compose__parts .svc-mem-part__thumb ~ .svc-mem-part__body { padding: 0; }
  .svc-memorial-compose .svc-mem-part__name { font-family: 'Lora', Georgia, serif; font-weight: 600; font-size: 17px; }
  .svc-memorial-compose .svc-mem-part__text { font-size: 15px; margin-bottom: 8px; }
  .svc-memorial-compose .svc-mem-part__link { min-height: 36px; }

  /* Видно 6 элементов, остальные — после «Показать все (N)» (секция получает .is-all) */
  .svc-memorial-compose:has(> .lnd-more) > .svc-memorial-compose__parts--top > :nth-child(n+7),
  .svc-memorial-compose:has(> .lnd-more):not(:has(> .svc-memorial-compose__parts--top)) > .svc-memorial-compose__parts--bottom > :nth-child(n+7),
  .svc-memorial-compose:has(> .lnd-more):has(> .svc-memorial-compose__parts--top > :nth-child(2):last-child) > .svc-memorial-compose__parts--bottom > :nth-child(n+5),
  .svc-memorial-compose:has(> .lnd-more):has(> .svc-memorial-compose__parts--top > :nth-child(3):last-child) > .svc-memorial-compose__parts--bottom > :nth-child(n+4),
  .svc-memorial-compose:has(> .lnd-more):has(> .svc-memorial-compose__parts--top > :nth-child(4):last-child) > .svc-memorial-compose__parts--bottom > :nth-child(n+3),
  .svc-memorial-compose:has(> .lnd-more):has(> .svc-memorial-compose__parts--top > :nth-child(5):last-child) > .svc-memorial-compose__parts--bottom > :nth-child(n+2),
  .svc-memorial-compose:has(> .lnd-more):has(> .svc-memorial-compose__parts--top > :nth-child(6)) > .svc-memorial-compose__parts--bottom > * { display: none; }
  .svc-memorial-compose > .lnd-more { margin: 0 0 16px; }

  .svc-memorial-compose__cta { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; padding: 20px; }
  .svc-memorial-compose__cta-ico { width: 48px; height: 48px; }
  .svc-memorial-compose__cta-text { display: contents; }
  .svc-memorial-compose__cta-title { margin: 0; }
  .svc-memorial-compose__cta-desc,
  .svc-memorial-compose__cta-action,
  .svc-memorial-compose__cta > a { grid-column: 1 / -1; }
  .svc-memorial-compose__cta-action { align-items: stretch; }
  .svc-memorial-compose__cta-btn { width: 100%; justify-content: center; white-space: normal; text-align: center; }
  .svc-memorial-compose__cta-note { text-align: center; }
}

/* Б-020 «Посмотрите будущий участок до начала благоустройства» — класс svc-oform-chain (цепочка кадров — t-swipe +
   data-dots в разметке; плита меток svc-oform-checklist; плашка-примечание svc-oform-chain__note) */
@media (max-width: 1199px) {
  .svc-oform-chain .svc-oform-chain__row { --t-cards: 3; align-items: stretch; }
  .svc-oform-chain .svc-oform-chain__arrow { display: none; }
  .svc-oform-chain .svc-oform-chain__name { font-size: 17px; }
  .svc-oform-chain .svc-oform-chain__text { font-size: 15px; }
  .svc-oform-chain .svc-oform-checklist { padding: 22px 24px; }
  .svc-oform-chain .svc-oform-checklist__list li { min-height: 40px; }
  .svc-oform-chain__note { padding: 20px 22px; }
}
@media (max-width: 767px) {
  .svc-oform-chain .svc-oform-chain__pic { aspect-ratio: 1 / 1; }
  .svc-oform-chain .svc-oform-checklist { padding: 18px 16px; }
  .svc-oform-chain .svc-oform-checklist__title { font-size: 17px; }
  .svc-oform-chain .svc-oform-checklist__list { gap: 8px; }
  .svc-oform-chain .svc-oform-checklist__list li { font-size: 15px; }
  .svc-oform-chain .svc-oform-flow { flex-direction: column; align-items: stretch; gap: 22px; }
  .svc-oform-chain .svc-oform-flow li + li::before { content: "↓"; left: 50%; top: -22px; }
  .svc-oform-chain .svc-memorial-compose__cta-btn,
  .svc-oform-chain .svc-memorial-design__cta-btn:not(.svc-memorial-design__cta .svc-memorial-design__cta-btn) {
    display: flex;
  }
  .svc-oform-chain__note { flex-wrap: wrap; align-items: flex-start; gap: 14px; padding: 18px 16px; }
  .svc-oform-chain__note p { flex: 1 1 0; min-width: 0; }
  .svc-oform-chain__note > a { flex: 1 0 100%; }
}

/* Б-021 «Смотрите на видео» — класс svc-videos (partial _PageVideosSection; лента на телефоне — m-swipe + data-dots).
   components/service-videos.css грузится после адаптива — селекторы усилены (section.svc-videos). */
@media (max-width: 1199px) {
  section.svc-videos { padding-left: 28px; padding-right: 28px; }
  section.svc-videos .svc-videos__head h2 { font-size: 36px; }
  section.svc-videos .svc-videos__grid { gap: 20px 16px; }
  section.svc-videos .svc-videos__more-btn { min-height: 48px; }
}
@media (max-width: 767px) {
  section.svc-videos { padding-left: 16px; padding-right: 16px; }
  section.svc-videos .svc-videos__head { margin-bottom: 18px; }
  section.svc-videos .svc-videos__head h2 { font-size: 28px; line-height: 1.15; }
  section.svc-videos .svc-videos__title { font-size: 15px; }
  section.svc-videos .svc-videos__more { margin-top: 12px; }
  section.svc-videos .svc-videos__more-btn { width: 100%; min-height: 52px; border-radius: 14px; }
}

/* Б-022 «Сохраним то, что ещё хорошо выглядит» — класс svc-oform-fix (плита: фото + текст; вариант-2 — метки и
   карточки-ссылки svc-oform-related под плитой) */
@media (max-width: 1199px) {
  .svc-oform-fix .svc-oform-fix__card { grid-template-columns: 360px minmax(0, 1fr); gap: 28px; align-items: stretch; padding: 24px; }
  .svc-oform-fix .svc-oform-fix__card--no-pic { grid-template-columns: 1fr; }
  .svc-oform-fix .svc-oform-fix__pic { aspect-ratio: auto; min-height: 320px; }
  .svc-oform-fix .svc-oform-fix__pic picture,
  .svc-oform-fix .svc-oform-fix__pic img { object-fit: cover; }
  .svc-oform-fix .svc-oform-fix__body { align-self: center; }
  .svc-oform-fix .svc-oform-fix__body > .eyebrow { margin-bottom: 10px; }
  .svc-oform-fix .svc-oform-fix__title,
  .service-page .svc-oform-fix .svc-oform-fix__title { font-size: 32px; }
  .svc-oform-fix .svc-oform-fix__cases { grid-template-columns: 1fr; }
  .svc-oform-fix .svc-oform-related__grid { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 767px) {
  .svc-oform-fix .svc-oform-fix__card { grid-template-columns: 1fr; gap: 18px; padding: 16px 16px 20px; border-radius: 20px; }
  .svc-oform-fix .svc-oform-fix__pic { aspect-ratio: 4 / 3; min-height: 0; }
  .svc-oform-fix .svc-oform-fix__title,
  .service-page .svc-oform-fix .svc-oform-fix__title { font-size: 26px; }
  .svc-oform-fix .svc-oform-fix__subtitle { font-size: 17px; }
  .svc-oform-fix .svc-oform-fix__cases li { font-size: 16px; }
  .svc-oform-fix .svc-memorial-compose__cta-btn { display: flex; }
  /* Карточки-ссылки под плитой — список (в разметке m-swipe — лента общих блоков, здесь перебита) */
  .svc-oform-fix .svc-oform-related__grid.m-swipe { display: grid; overflow: visible; margin: 0; padding: 0; }
  .svc-oform-fix .svc-oform-related__card { padding: 14px 16px; }
}

/* Б-023 «Участки до и после благоустройства» — класс svc-oform-pairs (фильтры — см. Б-018). Планшет: сетка 2 колонки,
   4 карточки + «Показать все (N)» (.lnd-more--t в разметке); телефон: лента (m-swipe + data-dots), все карточки. */
@media (max-width: 1199px) {
  .svc-oform-pairs .svc-oform-pairs__grid,
  .svc-oform-pairs.svc-oform-pairs--3 .svc-oform-pairs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .svc-oform-pairs .svc-oform-pair { padding: 16px; }
  .svc-oform-pairs .svc-oform-pair__shots { gap: 8px; }
  .svc-oform-pairs .svc-oform-pair__arrow { width: 28px; height: 28px; }
  .svc-oform-pairs .svc-oform-pair__text { font-size: 15px; }
  /* Больше 6 карточек: видно 4 + «Показать все (N)»; при 6 и меньше — все (вариант «до и после укладки») */
  .svc-oform-pairs:has(> .lnd-more--t):has(.svc-oform-pairs__grid > :nth-child(7)) .svc-oform-pairs__grid > :nth-child(n+5 of :not([style*="display: none"])) { display: none; }
  .svc-oform-pairs:not(:has(.svc-oform-pairs__grid > :nth-child(7))) > .lnd-more--t { display: none; }
  .svc-oform-pairs > .lnd-more--t { margin-top: 16px; }
}
@media (max-width: 767px) {
  .svc-oform-pairs:has(> .lnd-more--t):has(.svc-oform-pairs__grid > :nth-child(7)) .svc-oform-pairs__grid > :nth-child(n+5 of :not([style*="display: none"])) { display: block; }
  .svc-oform-pairs .svc-oform-pairs__grid > [style*="display: none"] { display: none; }
  .svc-oform-pairs .svc-oform-pair__arrow { width: 24px; height: 24px; }
  .svc-oform-pairs .svc-oform-pair__shots { gap: 6px; }
  .svc-oform-pairs .svc-oform-pair__label { left: 6px; top: 6px; bottom: auto; max-width: calc(100% - 12px); }
  .svc-oform-pairs .svc-oform-pair__title { font-size: 17px; margin-top: 14px; }
}

/* Б-024 «Что выбрать — натуральный или искусственный газон» — класс svc-stekla-compare (таблица-сравнение; вариант-2 —
   две карточки cp-versus). Телефон: две шапки рядом, затем по каждому критерию строка-заголовок на всю ширину и под ней
   два значения рядом — под своими шапками (порядок строк — order по номеру ячейки, до 10 критериев). */
@media (max-width: 1199px) {
  .svc-stekla-compare .svc-stekla-compare__table { grid-template-columns: minmax(0, 1fr) 130px minmax(0, 1fr); }
  .svc-stekla-compare .svc-stekla-compare__cell { font-size: 15px; }
  .svc-stekla-compare .svc-stekla-compare__crit-name { font-size: 13px; }
  .svc-stekla-compare .svc-stekla-compare__footer { gap: 18px 22px; padding: 24px; }
  .svc-stekla-compare .svc-stekla-compare__conclusion-text { font-size: 15px; }
  .svc-stekla-compare .svc-oform-tech__link { display: flex; width: fit-content; }
}
@media (max-width: 767px) {
  /* Шапки колонок — две карточки рядом; ниже белая плита-список: строка критерия на всю ширину, под ней два пункта
     «Натуральный: …» / «Искусственный: …» (подписи — --cmp-a / --cmp-b из style таблицы в разметке) */
  .svc-stekla-compare .svc-stekla-compare__table {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 10px;
    border: 0; border-radius: 0; overflow: visible; background: none; box-shadow: none;
  }
  .svc-stekla-compare .svc-stekla-compare__top--criteria { display: none; }
  .svc-stekla-compare .svc-stekla-compare__top--granit,
  .svc-stekla-compare .svc-stekla-compare__top--glass { margin-bottom: 12px; border: 0; border-radius: 18px; overflow: hidden; }
  .svc-stekla-compare .svc-stekla-compare__col-label { padding: 10px 12px 12px; }
  .svc-stekla-compare .svc-stekla-compare__cell { grid-column: 1 / -1; min-height: 0; border: solid var(--line-2); border-width: 0 1px; background: #fff; }
  .svc-stekla-compare .svc-stekla-compare__cell--criteria {
    flex-direction: row; justify-content: flex-start; gap: 10px; padding: 16px 16px 8px; text-align: left;
    background: linear-gradient(var(--line-2), var(--line-2)) 16px 0 / calc(100% - 32px) 1px no-repeat, #fff;
  }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(5) { border-top-width: 1px; border-radius: 18px 18px 0 0; background: #fff; }
  .svc-stekla-compare .svc-stekla-compare__table > :last-child { border-bottom-width: 1px; border-radius: 0 0 18px 18px; padding-bottom: 16px; }
  .svc-stekla-compare .svc-stekla-compare__crit-name { font-size: 15px; font-weight: 700; color: var(--ink); }
  .svc-stekla-compare .svc-stekla-compare__cell--granit,
  .svc-stekla-compare .svc-stekla-compare__cell--glass { align-items: flex-start; padding: 4px 16px 8px; }
  .svc-stekla-compare .svc-stekla-compare__cell--granit .svc-stekla-compare__text::before { content: var(--cmp-a, ""); font-weight: 700; color: var(--ink); }
  .svc-stekla-compare .svc-stekla-compare__cell--glass .svc-stekla-compare__text::before { content: var(--cmp-b, ""); font-weight: 700; color: var(--ink); }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(5) { order: 10; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(4),
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(6) { order: 11; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(8) { order: 20; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(7),
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(9) { order: 21; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(11) { order: 30; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(10),
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(12) { order: 31; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(14) { order: 40; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(13),
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(15) { order: 41; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(17) { order: 50; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(16),
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(18) { order: 51; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(20) { order: 60; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(19),
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(21) { order: 61; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(23) { order: 70; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(22),
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(24) { order: 71; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(26) { order: 80; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(25),
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(27) { order: 81; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(29) { order: 90; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(28),
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(30) { order: 91; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(32) { order: 100; }
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(31),
  .svc-stekla-compare .svc-stekla-compare__table > :nth-child(33) { order: 101; }

  .svc-stekla-compare .svc-stekla-compare__footer { grid-template-columns: 1fr; gap: 16px; padding: 20px; }
  .svc-stekla-compare .svc-stekla-compare__conclusion { flex-wrap: wrap; gap: 14px; }
  .svc-stekla-compare .svc-stekla-compare__conclusion-ico { width: 48px; height: 48px; }
  .svc-stekla-compare .svc-stekla-compare__conclusion > div { display: contents; }
  .svc-stekla-compare .svc-stekla-compare__conclusion-title { align-self: center; margin: 0; font-size: 21px; }
  .svc-stekla-compare .svc-stekla-compare__conclusion-text { flex: 1 0 100%; }
  .svc-stekla-compare .svc-stekla-compare__cta { align-items: stretch; }
  .svc-stekla-compare .cp-versus__grid { grid-template-columns: 1fr; gap: 14px; }
}

/* Б-025 «Все услуги по памятникам» — сетка услуг раздела: .services-row.pm-types (/pamjatniki) и .services-row.svc-cat-grid
   («Выберите нужную услугу», partial ServiceLanding/_BlockServicesGrid); плашки-ссылки .kpp-strips (вариант-2).
   Телефон: список «фото 112 | текст», у pm-types видно 6 + «Показать все (12)» (.lnd-more в разметке). */
@media (max-width: 1199px) {
  .services-row.pm-types,
  .services-row.svc-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .services-row.pm-types .service-card .text,
  .services-row.svc-cat-grid .service-card .text { font-size: 14.5px; }
  .services-row.pm-types .service-card .go,
  .services-row.svc-cat-grid .service-card .go { width: 40px; height: 40px; }
}
@media (max-width: 767px) {
  .services-row.pm-types,
  .services-row.svc-cat-grid { grid-template-columns: 1fr; gap: 10px; margin-bottom: 14px; }
  .services-row.pm-types .service-card,
  .services-row.svc-cat-grid .service-card { flex-direction: row; align-items: stretch; padding: 10px; gap: 14px; border-radius: 16px; }
  .services-row.pm-types .service-card .pic,
  .services-row.svc-cat-grid .service-card .pic {
    flex: 0 0 112px; width: 112px; height: 112px; aspect-ratio: 1 / 1 !important; /* inline-стиль aspect-ratio в разметке */
    border-radius: 12px; align-self: flex-start;
  }
  .services-row.pm-types .service-card .body,
  .services-row.svc-cat-grid .service-card .body { padding: 2px 0 0; min-width: 0; }
  .services-row.pm-types .service-card .name,
  .services-row.svc-cat-grid .service-card .name { font-size: 17px; margin-bottom: 4px; }
  .services-row.pm-types .service-card .text,
  .services-row.svc-cat-grid .service-card .text { font-size: 15px; margin-bottom: 8px; }
  .services-row.pm-types .service-card .foot,
  .services-row.svc-cat-grid .service-card .foot { border-top: 0; padding-top: 0; }
  .services-row.pm-types .service-card .go,
  .services-row.svc-cat-grid .service-card .go { width: 44px; height: 44px; }
  section:has(> .lnd-more) > .services-row.pm-types > :nth-child(n+7) { display: none; }

  .kpp-strips { grid-template-columns: 1fr; }
  .kpp-strips .kpp-strip { grid-template-columns: 48px minmax(0, 1fr); }
  .kpp-strips .kpp-strip__go { grid-column: 2; }
}

/* Б-026 «До и после» — класс works (главная: partial _HomeWorksBa, .ba2; на страницах услуг — та же разметка).
   В разметке главной inline-стили (padding секции, font-size заголовка, padding кнопки) — перебиты !important. */
@media (max-width: 1199px) {
  section.works,
  .service-page > section.svc-granit-works.works { padding-left: 28px !important; padding-right: 28px !important; } /* inline-стиль в разметке; service.css — 56px !important */
  .works .works-head h2 { font-size: 40px !important; } /* inline-стиль в разметке */
  .works .works-tabs { flex-wrap: wrap; overflow: visible; }
  .works .works-tabs .tab { min-height: 44px; padding: 10px 14px !important; font-size: 14px; } /* inline-стиль в разметке */

  /* Порядок: сравнение → миниатюры → описание (works-main раскрыт в колонку секции) */
  section.works { display: flex; flex-direction: column; }
  .works .works-main { display: contents; }
  .works .works-main > .ba { order: 1; }
  .works .works-thumbs-wrap { order: 2; margin: 14px 0 20px; padding: 0; }
  .works .works-main > .work-info { order: 3; }
  .works .ba,
  .works .ba.ba2-ba { aspect-ratio: 16 / 10; }
  .works .ba .grip { top: auto; bottom: 16px; transform: translateX(-50%); }

  /* Описание — под фото: белая плита в 2 колонки (иконка + название + текст | факты) */
  .works .works-main > .work-info {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 32px; padding: 24px;
  }
  .works .works-main > .work-info .title,
  .works .works-main > .work-info p.desc { grid-column: 1; }
  .works .works-main > .work-info .sep { display: none; }
  .works .works-main > .work-info .meta { grid-column: 2; grid-row: 1 / span 2; align-content: start; }
  .works .works-main > .work-info p.desc { margin-bottom: 0; }

  /* Миниатюры — 6 в ряд, без стрелок */
  .works .thumb-arrow { display: none; }
  .works .works-thumbs { gap: 12px; }
  .works .works-thumbs.ba2-strip { gap: 12px; }
  .works .thumb.ba2-thumb { flex-basis: calc((100% - 5 * 12px) / 6); }
  .works .thumb .num { left: 10px; bottom: 8px; font-size: 13px; }

  /* Варианты на страницах реставрации (pg-ba / zr-ba / zt-ba): слайдер | описание, ниже миниатюры */
  .works [class*="-ba__main"] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
  .works [class*="-ba__info"] { padding: 22px; }
  .works [class*="-ba__lists--cards"] { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .works .zt-ba__thumb-pic { flex-basis: 72px; }
  .works .zt-ba__thumb-name { font-size: 13.5px; }
}
@media (max-width: 767px) {
  section.works,
  .service-page > section.svc-granit-works.works { padding-left: 16px !important; padding-right: 16px !important; } /* inline-стиль */
  .works .works-head { display: contents; }
  .works .works-head > div { margin-bottom: 18px; }
  .works .works-head h2 { font-size: 28px !important; } /* inline-стиль в разметке */
  .works .works-head .all {
    order: 10; justify-content: center; min-height: 52px; margin-top: 20px;
    padding: 14px 20px !important; /* inline-стиль в разметке */
  }

  /* Чипы — лента до краёв экрана */
  .works .works-tabs {
    flex-wrap: nowrap; overflow-x: auto; gap: 8px; margin: 0 -16px 18px; padding: 0 16px; scroll-padding-inline: 16px;
  }
  .works .works-tabs .tab { padding: 10px 16px !important; font-size: 14.5px; } /* inline-стиль в разметке */

  .works .ba,
  .works .ba.ba2-ba { aspect-ratio: 5 / 4; border-radius: 16px; }
  .works .ba .label { top: 12px; padding: 6px 12px; font-size: 12px; }
  .works .ba .label.before { left: 12px; }
  .works .ba .label.after { right: 12px; }
  .works .ba .grip { width: 44px; height: 44px; bottom: 12px; }

  /* Миниатюры — лента 104px до краёв */
  .works .works-thumbs,
  .works .works-thumbs.ba2-strip {
    gap: 10px;
    margin: -6px -16px; padding: 6px 16px; scroll-padding-inline: 16px;
  }
  .works .works-thumbs > .thumb,
  .works .thumb.ba2-thumb { flex: 0 0 104px; }

  /* Описание — без карточки */
  .works .works-main > .work-info { display: block; padding: 0; background: none; box-shadow: none; border-radius: 0; }
  .works .works-main > .work-info .title { font-size: 21px; }
  .works .works-main > .work-info p.desc { font-size: 15px; margin-bottom: 16px; }
  .works .works-main > .work-info .sep { display: block; }
  .works .works-main > .work-info .meta .row { grid-template-columns: 36px minmax(0, 1fr); }
  .works .works-main > .work-info .meta .row .ico { width: 36px; height: 36px; }
  .works .works-main > .work-info .meta .row .k { font-size: 15px; }

  /* Варианты на страницах реставрации: всё в одну колонку */
  .works [class*="-ba__main"] { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .works [class*="-ba__info"] { padding: 18px 16px; }
  .works [class*="-ba__lists"] { grid-template-columns: minmax(0, 1fr); }
  .works .pg-ba__arrow { justify-self: center; transform: rotate(90deg); }
  .works [class*="-ba__btn"] { align-self: stretch; }
  .works [class*="-ba__thumbs"] { gap: 8px; }
  .works .zt-ba__thumbs { grid-template-columns: minmax(0, 1fr); }
  .works [class*="-ba__note"] { flex-wrap: wrap; }
  .works [class*="-ba__note"] > :not([class*="__note-ico"]) { flex: 1 1 220px; min-width: 0; }
}

/* Б-027 «Не только в день укладки» — класс svc-granit-video (основной — np-years на /blagoustrojstvo/nazemnoe-pokrytie;
   «Процесс» — .video-reviews; вариант-2 — fs-strength). Ленты телефона — m-swipe + data-dots в разметке. */
@media (max-width: 1199px) {
  .svc-granit-video .reviews-head { grid-template-columns: 1fr; margin-bottom: 24px; }
  .svc-granit-video .reviews-head h2 { font-size: 36px; }
  .svc-granit-video .reviews-head .sub { max-width: 640px; font-size: 16px; }
  .svc-granit-video .np-years__grid,
  .svc-granit-video .video-reviews { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .svc-granit-video .video-reviews:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-granit-video .np-year__title { font-family: 'Lora', Georgia, serif; font-weight: 600; font-size: 19px; }
  .svc-granit-video .np-year__text,
  .svc-granit-video .svc-oform-process__text { font-size: 15px; }
  .svc-granit-video .video-review__play { width: 64px; height: 64px; }
  .svc-granit-video .video-review__play svg { width: 26px; height: 26px; }

  /* Вариант-2: сначала 2 фото-карточки, под ними преимущества сеткой 2 колонки */
  .svc-granit-video .fs-strength__grid { grid-template-columns: 1fr; gap: 20px; }
  .svc-granit-video .fs-strength__media { order: -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-granit-video .fs-strength__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-granit-video .fs-strength__text { font-size: 15px; }
}
@media (max-width: 767px) {
  .svc-granit-video .reviews-head h2 { font-size: 28px; line-height: 1.15; }
  .svc-granit-video .np-years__grid,
  .svc-granit-video .video-reviews { margin-bottom: 12px; }
  .svc-granit-video .np-years__grid > *,
  .svc-granit-video .video-reviews > * { flex-basis: 316px; }
  .svc-granit-video .video-review__play { width: 56px; height: 56px; }

  /* Вариант-2: преимущества — компактный список без рамок, затем фото лентой */
  .svc-granit-video .fs-strength__media { order: 0; }
  .svc-granit-video .fs-strength__list { grid-template-columns: 1fr; gap: 14px; }
  .svc-granit-video .fs-strength__point { padding: 0; border: 0; background: none; }
}

/* Б-028 «Ваши идеи всегда под рукой» — класс fsave (partial Foto/_FotoSaveBand) */
@media (max-width: 1199px) {
  .fsave { gap: 20px; padding: 26px 28px; }
  .fsave .fbtn { min-height: 52px; }
}
@media (max-width: 767px) {
  .fsave { grid-template-columns: 1fr; gap: 18px; padding: 24px; border-radius: 24px; }
  .fsave .fsave__title { font-size: 26px; }
  .fsave .fsave__title .green { white-space: nowrap; }
  .fsave .fsave__sub { font-size: 16px; }
  .fsave .fsave__thumbs { gap: 8px; }
  .fsave .fsave__thumb { width: 72px; height: 72px; }
  .fsave .fsave__actions,
  .fsave .fbtn { width: 100%; }
  .fsave .fbtn { text-align: center; }
}

/* Б-029 «Нужна похожая работа?» — класс pf-cta (/portfolio, /rabota/…) */
@media (max-width: 1199px) {
  .pf-cta { padding: 28px; }
  .pf-cta .pf-cta__text h2 { font-size: 30px; }
  .pf-cta .pf-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .pf-cta { flex-direction: column; align-items: stretch; gap: 20px; padding: 24px; }
  .pf-cta .pf-cta__text h2 { font-size: 26px; }
  .pf-cta .pf-cta__text p { font-size: 16px; }
}

/* Б-030 «Выберите, с чем вы разбираетесь» — класс kp-section (/kak-pravilno: темы kp-cats, маршруты kp-paths,
   инструкции kp-cards / kp-groups; гайд: «Похожие работы» kp-cases, «Услуги по теме» kp-services, «Мои материалы»).
   Темы на телефоне: 6 + «Показать все темы (N)» — кнопка .kp-cats__more уже в разметке (Alpine allCats → .is-all). */
@media (max-width: 1199px) {
  .kp-section .kp-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kp-section .kp-cat__desc { font-size: 15px; }
  .kp-section .kp-paths { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kp-section .kp-path__steps { font-size: 15px; }
  .kp-section .kp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kp-section .kp-card__desc { font-size: 15px; }
  .kp-section .kp-cases__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kp-section .kp-services__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kp-section .kp-services__list small { font-size: 14px; }
}
@media (max-width: 767px) {
  .kp-section { margin-top: 36px; }
  .kp-section .kp-h2 { font-size: 28px; }

  /* Темы — список: фото 84×84 | название + «N инструкций»; описание ниже на всю ширину */
  .kp-section .kp-cats { grid-template-columns: 1fr; gap: 10px; }
  .kp-section .kp-cat__link {
    display: grid; grid-template-columns: 84px minmax(0, 1fr); grid-template-rows: auto auto 1fr; gap: 4px 14px;
    padding: 12px; align-items: start;
  }
  .kp-section .kp-cat__pic { grid-row: 1 / span 2; width: 84px; height: 84px; aspect-ratio: 1 / 1; border-radius: 12px; }
  .kp-section .kp-cat__ico { grid-row: 1 / span 2; margin: 0; }
  .kp-section .kp-cat__body { display: contents; }
  .kp-section .kp-cat__title { grid-column: 2; font-size: 18px; align-self: end; }
  .kp-section .kp-cat__count { grid-column: 2; grid-row: 2; align-self: start; }
  .kp-section .kp-cat__desc { grid-column: 1 / -1; margin-top: 6px; }
  .kp-section .kp-cats:not(.is-all) > .kp-cat:nth-child(n+7) { display: none; }
  .kp-section .kp-cats__more { display: block; margin-top: 12px; }
  .kp-section .kp-cats__more .kp-btn { width: 100%; min-height: 52px; }

  /* Маршруты — лента (m-swipe + data-dots), кнопка на всю ширину карточки */
  .kp-section .kp-path__start { align-self: stretch; min-height: 52px; }

  .kp-section .kp-paths, /* страница темы: маршруты без ленты — по одному */
  .kp-section .kp-cards,
  .kp-section .kp-cases__grid,
  .kp-section .kp-services__list,
  .kp-section .kp-mine__grid,
  .kp-section .kp-soon { grid-template-columns: 1fr; }
  .kp-section .kp-services__list a { min-height: 56px; align-items: center; }
  .kp-section .kp-group__head { flex-wrap: wrap; }
}

/* Б-031 «Не нашли ответ?» — класс kp-ask (partial KakPravilno/_KpAsk) */
@media (max-width: 1199px) {
  .kp-ask { grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: 18px 28px; padding: 28px; }
  .kp-ask .kp-h2 { font-size: 30px; }
  .kp-ask .kp-textarea { min-height: 128px; }
  .kp-ask__form .kp-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .kp-ask { grid-template-columns: 1fr; padding: 20px; margin-top: 36px; }
  .kp-ask .kp-h2 { font-size: 26px; }
  .kp-ask__head,
  .kp-ask__form { grid-column: 1; grid-row: auto; }
  .kp-ask .kp-label { font-size: 15px; }
  .kp-ask .kp-textarea { font-size: 15px; }
  .kp-ask__form .kp-btn,
  .kp-ask__sendform .kp-btn { justify-self: stretch; width: 100%; min-height: 52px; }
  .kp-ask__field { flex-basis: 100%; }
}

/* Б-032 «Идеи, с которых можно начать» — класс fsec (секции раздела /foto: подборки fstart, популярные фото fmason,
   коллекции fcolls, «Другие идеи» fgrid--6 на странице фото). Ленты телефона — m-swipe + data-dots в разметке.
   Телефон: ссылка «Смотреть все…» из шапки уходит под ленту и становится кнопкой-обводкой. */
@media (max-width: 1199px) {
  .fsec .fsec__title { font-size: 36px; }
  .fsec.fsec--card { padding: 24px; }
  .fsec .fstart,
  .fsec .fcolls { gap: 16px; }
  .fsec .fstart__pic { aspect-ratio: 5 / 4; }
  .fsec .fstart__foot b { font-family: 'Lora', Georgia, serif; font-size: 19px; }
  .fsec .fgo { width: 44px; height: 44px; }
  .fsec > .fgrid.fmason--4 { column-count: 3; }
  .fsec > .fgrid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fsec > .fgrid--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fsec .fcat-all__cols { gap: 20px; }
}
@media (max-width: 767px) {
  .fsec { gap: 16px; }
  .fsec .fsec__title { font-size: 28px; }
  /* белая плашка во всю ширину экрана, без обводки и скруглений: лента карточек листается целиком на её фоне */
  .fsec.fsec--card { margin-left: -16px; margin-right: -16px; padding: 24px 16px; border: 0; border-radius: 0; }
  .fsec.fsec--card > .m-swipe { --swipe-bleed: 16px; }
  .fsec > .fsec__head:has(.flink) { display: contents; }
  .fsec > .fsec__head .flink {
    order: 10; justify-content: center; min-height: 52px;
    border: 1.5px solid var(--green-600); border-radius: 12px;
  }
  .fsec > .swipe-dots { order: 9; margin-top: -6px; }
  .fsec > .fgrid.fmason--4,
  .fsec > .fgrid.fmason { column-count: 2; }
  .fsec > .fgrid.fmason > .fc { margin-bottom: 10px; }
  .fsec > .fgrid--4,
  .fsec > .fgrid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .fsec .fcat-all__cols { grid-template-columns: 1fr; }
  /* «Все категории и подборки»: первые 10 чипов, остальные — по «Показать все (N)» (кнопка .fchips__all в разметке) */
  .fsec .fchips:not(.is-all) > .fchip:nth-child(n+11) { display: none; }
  .fsec .fchips__all {
    display: inline-flex; align-items: center; min-height: 44px; padding: 9px 14px; border-radius: 12px;
    border: 1px dashed var(--line); background: transparent; font: inherit; font-size: 14.5px; font-weight: 600;
    color: var(--green-700);
  }
}

/* Б-033 «Мемориальный комплекс» — шапка страницы раздела фото, класс fpage-head */
@media (max-width: 1199px) {
  .fpage-head .fpage-head__title { font-size: 42px; }
  .fpage-head .fpage-head__lead { font-size: 17px; max-width: 820px; }
}
@media (max-width: 767px) {
  .fpage-head .fpage-head__title { font-size: 30px; }
  .fpage-head .fpage-head__lead { font-size: 16px; }
}

/* Б-034 «Как фотокерамика устанавливается на памятник» — класс svc-granit-install (шаги с фото; вариант с гарантией;
   вариант оград om-install с карточкой «Демонтаж»). Телефон — лента (m-swipe + data-dots в разметке). */
@media (max-width: 1199px) {
  .svc-granit-install .svc-granit-install__flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .svc-granit-install .svc-granit-install__flow:has(> .svc-granit-install__card:nth-of-type(5)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .svc-granit-install .om-install__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-granit-install .svc-granit-install__arrow { display: none; }
  .svc-granit-install .svc-granit-install__card-pic,
  .svc-granit-install .fk-install__ico { order: -1; }
  .svc-granit-install .svc-granit-install__card-pic { aspect-ratio: 3 / 2; }
  .svc-granit-install .svc-granit-install__text-cell {
    display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 8px 12px; text-align: left; padding: 0;
  }
  .svc-granit-install .svc-granit-install__card-num { margin: 0; }
  .svc-granit-install .svc-granit-install__card-title { margin: 0; font-size: 17px; }
  .svc-granit-install .svc-granit-install__card-desc { grid-column: 1 / -1; max-width: none; font-size: 15px; }
  .svc-granit-install .svc-granit-install__warranty { flex-wrap: wrap; gap: 12px 20px; }
  .svc-granit-install .svc-granit-install__warranty-note { font-size: 15px; flex: 1 1 320px; }
}
@media (max-width: 767px) {
  .svc-granit-install .svc-granit-install__flow,
  .svc-granit-install .om-install__grid { margin-bottom: 16px; }
  .svc-granit-install .svc-granit-install__flow.m-swipe { display: flex; } /* планшетная сетка выше перебивала ленту */
  .svc-granit-install .svc-granit-install__card-pic { aspect-ratio: 4 / 3; }
  .svc-granit-install .fk-scenarios { grid-template-columns: 1fr; }
  .svc-granit-install .fk-scenarios li { font-size: 15px; }
  .svc-granit-install .svc-granit-install__warranty { padding: 16px; }
  .svc-granit-install .svc-granit-install__warranty-sep { display: none; }
  .svc-granit-install .svc-granit-install__warranty-note { flex-basis: 100%; }
}

/* Б-035 «Цоколь может сливаться с памятником…» — класс svc-granit-materials (сравнение gc-match + карточки камня;
   варианты «Виды гранита/мрамора» — образцы-квадраты). Телефон — лента карточек (m-swipe + data-dots). */
@media (max-width: 1199px) {
  .svc-granit-materials .svc-memorial-pricing__head { max-width: 760px; }
  .svc-granit-materials .gc-match__pic { aspect-ratio: 3 / 2; }
  .svc-granit-materials .gc-match__text { font-size: 15px; }
  .svc-granit-materials .svc-granit-materials__grid,
  .gc-page .svc-granit-materials .gc-granite__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .svc-granit-materials .svc-granit-materials__grid:has(> :nth-child(6)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .svc-granit-materials .gc-granite__grid .svc-granit-mat-card__pic { aspect-ratio: 16 / 9; }
  .svc-granit-materials .svc-granit-mat-card__name { font-size: 19px; }
  .svc-granit-materials .svc-granit-mat-card__color { font-size: 14px; }
  .svc-granit-materials .svc-granit-mat-card__desc { font-size: 15px; }
  .svc-granit-materials .svc-granit-mat-card__link { font-size: 15px; min-height: 32px; }
}
@media (max-width: 767px) {
  .svc-granit-materials .gc-match { grid-template-columns: 1fr; }
  .svc-granit-materials .gc-match__title { font-size: 17px; }
  .svc-granit-materials .gc-granite__grid .svc-granit-mat-card__pic { aspect-ratio: 4 / 3; }
}

/* Б-036 «Наши работы» (первый экран раздела) — класс pf-hero2 (/portfolio). Фото — отдельной плиткой 4:3 без растворения. */
@media (max-width: 1199px) {
  .pf-hero2 .pf-wrap { padding-left: 0; padding-right: 0; } /* поля даёт .pf-page */
  .pf-hero2 .pf-hero2__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: none;
    column-gap: 32px; row-gap: 0; min-height: 0; padding: 0; align-items: start;
  }
  .pf-hero2 .pf-hero2__inner { display: contents; }
  .pf-hero2 .pf-hero2__title { grid-column: 1; grid-row: 1; align-self: end; margin-top: 16px; font-size: 46px; }
  .pf-hero2 .pf-hero__lead { grid-column: 1; grid-row: 2; font-size: 17px; }
  .pf-hero2 .pf-hero2__media { grid-column: 2; grid-row: 1 / span 2; aspect-ratio: 4 / 3; min-height: 0; margin-top: 16px; }
  .pf-hero2 .pf-hero2__media::before { display: none; }
  .pf-hero2 .pf-hfacts { grid-column: 1 / -1; grid-row: 3; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
  .pf-hero2 .pf-hfact { flex-direction: column; align-items: flex-start; gap: 8px; }
  .pf-hero2 .pf-hfact b { font-size: 17px; }
  .pf-hero2 .pf-hfact small { font-size: 14px; }
}
@media (max-width: 767px) {
  .pf-hero2 .breadcrumbs { font-size: 14px; }
  .pf-hero2 .pf-hero2__grid { grid-template-columns: 1fr; }
  .pf-hero2 .pf-hero2__title { font-size: 34px; margin-top: 8px; }
  .pf-hero2 .pf-hero__lead { font-size: 16px; }
  .pf-hero2 .pf-hero2__media { grid-column: 1; grid-row: 3; margin-top: 20px; border-radius: 24px; }
  .pf-hero2 .pf-hfacts { grid-row: 4; grid-template-columns: 1fr; gap: 14px; margin-top: 20px; }
  .pf-hero2 .pf-hfact { flex-direction: row; align-items: center; gap: 14px; }
  .pf-hero2 .pf-hfact__ico { width: 48px; height: 48px; }
}

/* Б-037 «Фотоотчёты вместо обещаний» — класс pf-seo (текст о разделе + «Частые вопросы» pf-faq) */
@media (max-width: 1199px) {
  .pf-seo { gap: 28px; }
  .pf-seo .pf-seo__text h2 { font-size: 34px; }
  .pf-seo .pf-seo__text p { font-size: 16px; }
  .pf-seo .pf-faq__item { padding: 4px 18px; border-radius: 18px; }
  .pf-seo .pf-faq__item summary { min-height: 52px; padding-top: 16px; padding-bottom: 16px; font-size: 16px; }
}
@media (max-width: 767px) {
  .pf-seo { grid-template-columns: 1fr; gap: 24px; }
  .pf-seo .pf-seo__text h2 { font-size: 28px; }
}

/* Б-038 «Блог» (первый экран) — класс blog-page__hero-wrap (partial Blog/_BlogPage + Blog/_BlogHero). Фото — плиткой
   без растворения: планшет 4:3 справа, телефон 16:9 сверху. Поля текстовой части — .blog-page__container в content.css. */
@media (max-width: 1199px) {
  .blog-page__hero-wrap .blog-page__hero-grid { grid-template-columns: minmax(0, 1fr) 468px; min-height: 0; column-gap: 0; }
  .blog-page__hero-wrap .blog-page__hero-grid > * { min-width: 0; }
  .blog-page__hero-wrap .blog-page__hero-media { aspect-ratio: 4 / 3; min-height: 0; align-self: center; margin: 24px 28px 0 0; }
  .blog-page__hero-wrap .blog-page__hero-media::before { display: none; }
  .blog-page__hero-wrap .blog-page__hero h1 { font-size: 52px; }
  .blog-page__hero-wrap .blog-page__hero > p { font-size: 16px; }
  .blog-page__hero-wrap .blog-tabs__item { min-height: 48px; }
  .blog-page__hero-wrap .blog-search { width: 100%; }
  .blog-page__hero-wrap .blog-search input { height: 48px; }
  .blog-page__hero-wrap .blog-cats__item { min-height: 40px; font-size: 14px; }
}
@media (max-width: 767px) {
  .blog-page__hero-wrap .blog-page__hero-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "media" "hero" "cats"; }
  .blog-page__hero-wrap .blog-page__hero-media { aspect-ratio: 16 / 9; margin: 16px 16px 0; border-radius: 18px; }
  .blog-page__hero-wrap .blog-page__hero-cats { width: 100%; } /* auto-поля контейнера сжимали ячейку до ширины ленты чипов */
  .blog-page__hero-wrap .blog-page__hero h1 { font-size: 40px; }
  .blog-page__hero-wrap .blog-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
  .blog-page__hero-wrap .blog-tabs__item { min-height: 46px; padding: 0 8px; }
  /* Чипы тем — лента в одну строку до краёв экрана */
  .blog-page__hero-wrap .blog-cats {
    flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
    width: auto; margin: 0 -16px; padding: 0 16px 2px; scroll-padding-inline: 16px;
  }
  .blog-page__hero-wrap .blog-cats::-webkit-scrollbar { display: none; }
  /* Подсказка: иконка слева, текст со ссылкой — сплошным абзацем (во flex ссылка уходила отдельной колонкой) */
  .blog-page__hero-wrap .blog-kp-link { display: block; position: relative; padding-left: 26px; }
  .blog-page__hero-wrap .blog-kp-link > svg { position: absolute; left: 0; top: 2px; }
}

/* Б-039 «Популярные темы» — класс blog-topics (боковая колонка блога; на планшете/телефоне — плита во всю ширину под
   списком, раскладку колонки задаёт content.css). Телефон: 6 тем + «Все темы (N)» (кнопка .blog-topics__all в разметке). */
@media (max-width: 1199px) {
  .blog-topics { padding: 24px; }
  .blog-topics .blog-topics__title { font-size: 28px; font-family: 'Lora', Georgia, serif; font-weight: 600; }
  .blog-topics .blog-topics__list { display: block; columns: 2; column-gap: 28px; }
  .blog-topics .blog-topics__list > li { break-inside: avoid; border-bottom: 1px solid var(--line-2); }
  .blog-topics .blog-topics__row { font-size: 15px; min-height: 50px; }
  .blog-topics .blog-topics__row strong { font-size: 15px; color: var(--ink-3); }
}
@media (max-width: 767px) {
  .blog-topics { padding: 20px 16px; }
  .blog-topics .blog-topics__title { font-size: 24px; }
  .blog-topics .blog-topics__list { columns: 1; }
  .blog-topics .blog-topics__row { font-size: 16px; }
  .blog-topics:not(.is-all) .blog-topics__list > li:nth-child(n+7) { display: none; }
  .blog-topics .blog-topics__all {
    display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; margin-top: 12px;
    border: 1.5px dashed var(--line); border-radius: 14px; background: transparent;
    font: inherit; font-size: 15px; font-weight: 700; color: var(--green-700);
  }
}

/* Б-040 «Будьте в курсе» — класс blog-subscribe-card */
@media (max-width: 1199px) {
  .blog-subscribe-card { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 20px; align-items: center; padding: 24px; }
  .blog-subscribe-card .blog-subscribe-card__head { grid-template-columns: 48px minmax(0, 1fr); gap: 16px; margin: 0; align-items: center; }
  .blog-subscribe-card .blog-subscribe-card__ico { width: 48px; height: 48px; }
  .blog-subscribe-card h2 { font-size: 24px; font-family: 'Lora', Georgia, serif; font-weight: 600; }
  .blog-subscribe-card p { font-size: 15px; }
  .blog-subscribe-card .blog-subscribe-card__form { grid-template-columns: minmax(0, 1fr) auto; }
  .blog-subscribe-card .blog-subscribe-card__form input,
  .blog-subscribe-card .blog-subscribe-card__form button { height: 52px; font-size: 15px; }
  .blog-subscribe-card .blog-subscribe-card__form button { padding: 0 22px; }
}
@media (max-width: 767px) {
  .blog-subscribe-card { grid-template-columns: 1fr; gap: 16px; padding: 20px 16px; }
  .blog-subscribe-card .blog-subscribe-card__head { grid-template-columns: 56px minmax(0, 1fr); gap: 14px; align-items: start; }
  .blog-subscribe-card .blog-subscribe-card__ico { width: 56px; height: 56px; }
  .blog-subscribe-card .blog-subscribe-card__ico :is(svg, [data-lucide]) { width: 24px; height: 24px; }
  .blog-subscribe-card .blog-subscribe-card__head > div { display: contents; }
  .blog-subscribe-card h2 { align-self: center; margin: 0; font-size: 21px; }
  .blog-subscribe-card p { grid-column: 1 / -1; }
  .blog-subscribe-card .blog-subscribe-card__form { grid-template-columns: 1fr; }
}

/* Б-041 «Новые материалы» — класс blog-recent */
@media (max-width: 1199px) {
  .blog-recent { padding: 24px; }
  .blog-recent .blog-recent__title { font-size: 28px; font-family: 'Lora', Georgia, serif; font-weight: 600; margin-bottom: 16px; }
  .blog-recent .blog-recent__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
  .blog-recent .blog-recent__item { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; }
  .blog-recent .blog-recent__name { font-size: 16px; }
  .blog-recent .blog-recent__date { font-size: 14px; }
}
@media (max-width: 767px) {
  .blog-recent { padding: 20px 16px; }
  .blog-recent .blog-recent__title { font-size: 24px; }
  .blog-recent .blog-recent__list { grid-template-columns: 1fr; gap: 18px; }
  .blog-recent .blog-recent__item { grid-template-columns: 88px minmax(0, 1fr); }
  .blog-recent .blog-recent__name { -webkit-line-clamp: 3; }
}

/* Б-042 «Не нашли ответ на свой вопрос?» — класс blog-help (три карточки; на телефоне — друг под другом) */
@media (max-width: 1199px) {
  .blog-help { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .blog-help .blog-help__card { padding: 24px; }
  .blog-help .blog-help__avatars > * { width: 40px; height: 40px; }
  .blog-help .blog-help__ico { width: 48px; height: 48px; }
  .blog-help .blog-help__card:first-child {
    grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; align-items: center;
  }
  .blog-help .blog-help__card:first-child > :not(.blog-help__btn) { grid-column: 1; }
  .blog-help .blog-help__card:first-child .blog-help__btn { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
  .blog-help .blog-help__card h3 { font-size: 20px; }
  .blog-help .blog-help__card:first-child h3 { font-size: 22px; }
  .blog-help .blog-help__card p { font-size: 15px; }
  .blog-help .blog-help__btn { min-height: 52px; font-size: 14.5px; padding: 0 20px; }
}
@media (max-width: 767px) {
  .blog-help { grid-template-columns: 1fr; }
  .blog-help .blog-help__card:first-child { display: flex; align-items: stretch; }
  .blog-help .blog-help__avatars { align-self: flex-start; }
  .blog-help .blog-help__card { padding: 20px; }
  .blog-help .blog-help__card h3,
  .blog-help .blog-help__card:first-child h3 { font-size: 19px; }
  .blog-help .blog-help__btn,
  .blog-help .blog-help__card:first-child .blog-help__btn { align-self: stretch; }
}

/* Б-043 «Как правильно?» — класс kp-hero (первый экран /kak-pravilno; вариант-2 — шапка темы kp-cathead).
   «Чаще всего спрашивают» на телефоне: 5 вопросов + «Показать все (N)» (.lnd-more в разметке Index.cshtml). */
@media (max-width: 1199px) {
  .kp-page[data-kp-page="home"] .kp-hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: "crumbs" "main" "aside"; }
  .kp-hero__aside { margin-top: 24px; }
  .kp-hero__aside .kp-quick { display: block; columns: 2; column-gap: 28px; } /* порядок сверху вниз по колонкам (4 + 3) */
  .kp-hero__aside .kp-quick li + li { border-top: 0; }
  .kp-hero__aside .kp-quick li { break-inside: avoid; border-bottom: 1px solid var(--line-2, #ebeeec); }
  .kp-hero__aside .kp-quick li:nth-child(5) { break-before: column; }
  .kp-hero .kp-chip { min-height: 44px; }

  .kp-cathead { grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; }
  .kp-cathead__pic { aspect-ratio: 4 / 3; }
  .kp-hero--small .kp-hero__title { font-size: 40px; }
}
@media (max-width: 767px) {
  .kp-hero .kp-hero__title,
  .kp-hero--small .kp-hero__title { font-size: 34px; }
  .kp-hero .kp-hero__sub { font-size: 18px; }
  .kp-hero .kp-hero__lead { font-size: 16px; }
  .kp-hero .kp-search__label { font-size: 20px; }
  .kp-hero .kp-search__box { padding: 6px 6px 6px 12px; gap: 8px; }
  .kp-hero .kp-search__input { font-size: 14px; min-height: 44px; }
  .kp-hero .kp-search__btn { padding: 10px 14px; }

  /* «Например:» / «Где вы сейчас:» — подпись над группой, чипы — лента до края экрана */
  .kp-hero .kp-search__examples,
  .kp-hero .kp-stages {
    display: grid; grid-auto-flow: column; grid-auto-columns: max-content;
    justify-content: start; overflow-x: auto; scrollbar-width: none;
    margin-left: -16px; margin-right: -16px; padding: 0 16px 2px;
  }
  .kp-hero .kp-search__examples::-webkit-scrollbar,
  .kp-hero .kp-stages::-webkit-scrollbar { display: none; }
  .kp-hero .kp-search__examples > *,
  .kp-hero .kp-stages > * { grid-row: 2; }
  .kp-hero .kp-search__examples-label,
  .kp-hero .kp-stages__label { grid-row: 1; grid-column: 1; margin: 0; }

  .kp-hero__aside { padding: 18px 16px; }
  .kp-hero__aside .kp-quick { columns: 1; }
  .kp-hero__aside .kp-quick li:nth-child(5) { break-before: auto; }
  .kp-hero__aside:has(> .lnd-more) .kp-quick > li:nth-child(n+6) { display: none; }
  .kp-hero__aside > .lnd-more { margin-bottom: 12px; }

  /* Вариант-2 — шапка темы: фото 16:9 над надзаголовком */
  .kp-cathead { grid-template-columns: 1fr; gap: 16px; }
  .kp-cathead__pic { order: -1; aspect-ratio: 16 / 9; border-radius: 16px; }
}

/* Б-044 «Материал Бесплатно — текст гайда» — класс free-material-detail (/besplatno/m/…, полный гид …/polnyj-gid) */
@media (max-width: 1199px) {
  .free-material-detail .free-material-detail__title { font-size: 40px; }
  .free-material-detail .free-material-detail__lead { font-size: 17px; }
  .free-material-detail .free-guide h2 { font-size: 26px; }
  .free-material-detail .free-guide .art-fig figcaption { font-size: 13px; }
  .free-material-detail .free-material-detail__pro { padding: 20px 22px; }
  .free-material-detail .free-material-detail__pro-title { font-size: 16px; }
  .free-material-detail .free-material-detail__pro-btn,
  .free-material-detail .free-material-detail__download { min-height: 52px; }
}
@media (max-width: 767px) {
  .free-material-detail .free-material-detail__title { font-size: 28px; }
  .free-material-detail .free-material-detail__lead { font-size: 16px; }
  .free-material-detail .free-guide { font-size: 16px; line-height: 1.65; }
  .free-material-detail .free-guide h2 { font-size: 22px; }
  .free-material-detail .free-material-detail__pro-row { flex-direction: column; gap: 8px; }
  .free-material-detail .free-material-detail__actions { flex-direction: column; align-items: stretch; }
  .free-material-detail .free-material-detail__pro-btn,
  .free-material-detail .free-material-detail__download { justify-content: center; }
  .free-material-detail .free-material-detail__back { min-height: 44px; }
  /* Таблицы гида — списком строк: заголовки колонок — серой строкой сверху, в строке первая ячейка жирным */
  .free-material-detail .free-guide table,
  .free-material-detail .free-guide tbody,
  .free-material-detail .free-guide tr,
  .free-material-detail .free-guide td { display: block; }
  .free-material-detail .free-guide thead { display: block; }
  .free-material-detail .free-guide thead tr { display: flex; flex-wrap: wrap; gap: 4px 6px; padding: 8px 0; border-bottom: 1px solid var(--line); }
  .free-material-detail .free-guide th { padding: 0; border: 0; font-size: 13px; font-weight: 600; color: var(--muted); }
  .free-material-detail .free-guide th + th::before { content: "· "; }
  .free-material-detail .free-guide tbody tr { padding: 12px 0; border-bottom: 1px solid var(--line); }
  .free-material-detail .free-guide td { padding: 0; border: 0; }
  .free-material-detail .free-guide td:first-child { font-weight: 700; margin-bottom: 4px; }
  .free-material-detail .free-guide td + td { color: var(--ink-3); }
}

/* Б-045 «Мемориальный комплекс: о разделе» — класс fabout */
@media (max-width: 1199px) {
  .fabout { padding: 32px; }
  .fabout .fabout__title { font-size: 28px; }
  .fabout .fabout__text { font-size: 16px; line-height: 1.7; column-count: 2; column-width: auto; column-gap: 32px; }
}
@media (max-width: 767px) {
  .fabout { padding: 20px 16px; }
  .fabout .fabout__title { font-size: 24px; }
  .fabout .fabout__text { column-count: 1; color: var(--ink-2); }
}

/* Б-046 «Биржа заявок по всем городам» — класс ptr-hero (первый экран /zayavki: mk-hero; /stan-partnerom: _PtrHero) */
@media (max-width: 1199px) {
  .ptr-page .ptr-wrap { padding: 0 28px; }
  .ptr-hero .mk-hero__grid { grid-template-columns: minmax(0, 1fr) 380px; }
  .ptr-hero .ptr-hero__title { font-size: 44px; }
  .ptr-hero .mk-me .ptr-btn { min-height: 52px; }

  /* /stan-partnerom: текст слева, фото 3:4 (400px) справа, плашки по углам фото */
  .ptr-hero .ptr-hero__grid { grid-template-columns: minmax(0, 1fr) 400px; align-items: start; }
  .ptr-hero .ptr-hero__perks { gap: 10px; }
  .ptr-hero .ptr-hero__visual { aspect-ratio: 3 / 4; border-radius: 24px; overflow: hidden; }
  .ptr-hero .ptr-hero__visual picture { position: absolute; inset: 0; }
  .ptr-hero .ptr-hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
  .ptr-hero .ptr-hero-card { max-width: 48%; padding: 10px 12px; }
  /* плашки — по четырём углам фото */
  .ptr-hero .ptr-hero-card--rt { top: 12px; right: 12px; }
  .ptr-hero .ptr-hero-card--lt { top: 12px; left: 12px; }
  .ptr-hero .ptr-hero-card--lb { bottom: 12px; left: 12px; }
  .ptr-hero .ptr-hero-card--rb { bottom: 12px; right: 12px; }
  .ptr-hero .ptr-hero-card__title { font-size: 14px; }
}
@media (max-width: 767px) {
  .ptr-page .ptr-wrap { padding: 0 16px; }
  .ptr-hero .mk-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ptr-hero .mk-hero__grid > :first-child { display: contents; }
  .ptr-hero .mk-hero__grid > * { min-width: 0; }
  .ptr-hero .mk-hero__grid .mk-facts { order: 2; margin: 24px 0 0; }
  .ptr-hero .mk-hero__grid .mk-me { order: 1; margin-top: 4px; }
  .ptr-hero .ptr-hero__title { font-size: 28px; }
  .ptr-hero .mk-facts .ptr-ico { height: 48px; flex: 0 0 48px; }

  .ptr-hero .ptr-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .ptr-hero .ptr-hero__title .ptr-nowrap { white-space: normal; }
  .ptr-hero .ptr-hero__perks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .ptr-hero .ptr-hero__actions { flex-direction: column; align-items: stretch; }
  .ptr-hero .ptr-hero__actions .ptr-btn { min-height: 52px; }
  .ptr-hero .ptr-hero-card__text { font-size: 12px; }
}

/* Б-047 «Разделы страницы Стать партнёром» — класс ptr-section (14 видов секций /stan-partnerom и /zayavki).
   Ряды карточек: планшет — сетка 2–3 колонки, телефон — лента (m-swipe + data-dots в partial-ах _Ptr*);
   плашки в строку: на телефоне кнопка уходит вниз на всю ширину; форма + фото — друг под другом. */
@media (max-width: 1199px) {
  .ptr-section { padding-top: 48px; }
  .ptr-section .ptr-h2 { font-size: 36px; }
  .ptr-section .ptr-note { gap: 18px; }

  .ptr-section .ptr-formats__grid,
  .ptr-section .ptr-roles__grid,
  .ptr-section .ptr-support__cards,
  .ptr-section .ptr-faq__chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ptr-section .ptr-fits__grid,
  .ptr-section .ptr-services__grid,
  .ptr-section .ptr-tools__grid,
  .ptr-section .ptr-steps__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ptr-section .ptr-step + .ptr-step::before { display: none; }
  .ptr-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 12px; }

  .ptr-section .ptr-split__grid,
  .ptr-section .ptr-city__inner { grid-template-columns: minmax(0, 1fr) 340px; }
  .ptr-section .ptr-city__media { width: 70%; }
  .ptr-section .ptr-city__stats { grid-template-columns: minmax(0, 1fr); }
  .ptr-section .ptr-city__geo { justify-content: flex-start; }
  .ptr-section .ptr-income__grid,
  .ptr-section .ptr-support__grid,
  .ptr-section .ptr-income__foot,
  .ptr-section .ptr-support__foot,
  .ptr-section .ptr-lead__foot,
  .ptr-section .ptr-steps__head { grid-template-columns: minmax(0, 1fr); }
  .ptr-section .ptr-mkt__grid { gap: 28px; }

  /* Заявка на партнёрство: форма слева, фото справа на высоту формы, карточка «После заявки» поверх низа фото */
  .ptr-section .ptr-lead__grid { grid-template-columns: minmax(0, 1fr) 380px; gap: 20px; align-items: stretch; }
  .ptr-section .ptr-lead__visual { min-height: 100%; }
  .ptr-section .ptr-lead__media { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; overflow: hidden; }
  .ptr-section .ptr-lead__media img { width: 100%; height: 100%; object-fit: cover; }
  .ptr-section .ptr-lead__after { left: 14px; right: 14px; bottom: 14px; width: auto; }
}
@media (max-width: 767px) {
  .ptr-section { padding-top: 40px; }
  .ptr-section .ptr-h2 { font-size: 28px; }
  .ptr-section .ptr-h2,
  .ptr-section.ptr-split .ptr-h2 { max-width: none; }

  /* Плашка в строку: круг 48 | текст; кнопка — вниз на всю ширину */
  .ptr-section .ptr-note { flex-wrap: wrap; align-items: flex-start; gap: 14px; padding: 18px 16px; }
  .ptr-section .ptr-note > .ptr-round { height: 48px; flex: 0 0 48px; }
  .ptr-section .ptr-note__body { flex: 1 1 0; }
  .ptr-section .ptr-note > .ptr-btn,
  .ptr-section .ptr-note .mk-subscribe__block,
  .ptr-section .ptr-note > form { flex: 1 0 100%; }
  .ptr-section .ptr-note .ptr-btn { min-height: 52px; }

  .ptr-section .ptr-support__cards { gap: 10px; }
  .ptr-section .ptr-faq__chips { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .ptr-section .ptr-faq__list { columns: 1; }
  .ptr-section.ptr-faq .ptr-faq-item { margin-bottom: calc(var(--ptr-gap) / 2); }
  .ptr-section .ptr-faq-item__q { min-height: 52px; padding: 16px; }
  .ptr-bar { grid-template-columns: minmax(0, 1fr); padding: 8px 4px; }

  .ptr-section.ptr-split { padding-top: 32px; }
  .ptr-section .ptr-split__grid,
  .ptr-section .ptr-city__inner,
  .ptr-section .ptr-lead__grid { grid-template-columns: minmax(0, 1fr); }
  .ptr-section.ptr-split::before { background: rgba(250, 249, 247, .9); }
  .ptr-section .ptr-city__media { position: relative; width: 100%; aspect-ratio: 4 / 3; -webkit-mask-image: none; mask-image: none; }
  .ptr-section .ptr-city__feats { grid-template-columns: minmax(0, 1fr); }
  .ptr-section .ptr-city-feat { display: grid; grid-template-columns: 50px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: center; }
  .ptr-section .ptr-city-feat > .ptr-round { grid-row: 1 / span 2; }
  .ptr-section .ptr-mkt__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .ptr-section .ptr-mkt .ptr-hero__actions { flex-direction: column; align-items: stretch; }
  .ptr-section .ptr-mkt .ptr-hero__actions .ptr-btn { width: 100%; min-height: 52px; }
  .ptr-section .ptr-city-feat br { display: none; }
  .ptr-section .ptr-city__actions .ptr-btn { width: 100%; }
  .ptr-section .ptr-city__over { align-items: stretch; }
  .ptr-section .ptr-city__founder { width: 100%; }
  .ptr-section .ptr-city__nums { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .ptr-section .ptr-city-num { padding: 0; }
  .ptr-section .ptr-city-num + .ptr-city-num { border-left: 0; }
  .ptr-section .ptr-city__geo { flex-wrap: wrap; }
  .ptr-section .ptr-income-item,
  .ptr-section .ptr-income-row,
  .ptr-section .ptr-income__result { flex-wrap: wrap; }
  .ptr-section .ptr-income__result-side { padding-left: 0; }
  .ptr-section .ptr-income__panel { padding: 20px 16px; }
  .ptr-section .ptr-income__foot-list,
  .ptr-section .ptr-lead__foot-list,
  .ptr-section .ptr-support__foot-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ptr-section .ptr-support__chat { position: relative; right: auto; bottom: auto; width: 100%; margin-top: 12px; }

  /* Заявка: поля по одному, кнопка на всю ширину; фото 4:3; «После заявки обсудим» — под фото */
  .ptr-section .ptr-lead__card { padding: 20px 16px; }
  .ptr-section .ptr-form__row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ptr-section .ptr-lead__visual { min-height: 0; }
  .ptr-section .ptr-lead__media { position: relative; aspect-ratio: 4 / 3; height: auto; }
  .ptr-section .ptr-lead__after { position: relative; left: auto; right: auto; bottom: auto; margin-top: 12px; }
  .ptr-section .ptr-lead__foot-btn { min-height: 52px; }
}

/* Б-048 «Что влияет на стоимость» — класс svc-oform-quality. Телефон: список (иконка слева), 6 + «Показать все (N)»
   (.lnd-more в разметке, если карточек > 6). */
@media (max-width: 1199px) {
  .svc-oform-quality .svc-oform-quality__grid,
  .oz-page .svc-oform-quality .oz-factors__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .svc-oform-quality .svc-oform-quality__card {
    display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 16px; align-items: start; padding: 20px;
  }
  .svc-oform-quality .svc-oform-quality__ico { grid-row: 1 / span 2; width: 48px; height: 48px; margin: 0; }
  .svc-oform-quality .svc-oform-quality__name { font-size: 19px; margin-bottom: 4px; }
}
@media (max-width: 767px) {
  .svc-oform-quality .svc-oform-quality__grid,
  .oz-page .svc-oform-quality .oz-factors__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .svc-oform-quality .svc-oform-quality__card { padding: 16px; column-gap: 14px; }
  .svc-oform-quality .svc-oform-quality__name { font-size: 17px; }
  .svc-oform-quality:has(> .lnd-more) .svc-oform-quality__grid > :nth-child(n+7) { display: none; }
  .svc-oform-quality > .lnd-more { margin-top: 12px; }
}

/* Б-049 «Что будет с изображением через годы» — класс svc-stekla-why (карточки — лента m-swipe + data-dots на телефоне;
   плашки-гарантии fs-warranty; вариант /ograda/kombinirovannaya со ссылкой под сеткой) */
@media (max-width: 1199px) {
  .svc-stekla-why .svc-stekla-why__grid,
  .fs-page .svc-stekla-why .svc-stekla-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .svc-stekla-why .svc-stekla-why__card { grid-column: auto; }
  .svc-stekla-why .svc-stekla-why__pic { aspect-ratio: 3 / 2; }
  .svc-stekla-why .svc-stekla-why__text { font-size: 15px; }
  .svc-stekla-why .fs-durability__diff div { grid-template-columns: 96px minmax(0, 1fr); }
  .svc-stekla-why .fs-durability__diff dt,
  .svc-stekla-why .fs-durability__diff dd { font-size: 14px; }
}
@media (max-width: 767px) {
  .svc-stekla-why .svc-stekla-why__grid { margin-bottom: 16px; }
  .svc-stekla-why .svc-stekla-why__pic { aspect-ratio: 4 / 3; }
  .svc-stekla-why .fs-warranty { grid-template-columns: minmax(0, 1fr); }
}

/* Б-050 «Выберите модель ограды» — класс svc-ready-showcase (каталог моделей /ograda/metall, витрина
   /pamjatniki/prodazha-gotovyh-pamjatnikov). Телефон: список, первые 3 + «Показать все (N)» (.lnd-more--show в разметке);
   счёт — по видимым карточкам (фильтр Alpine прячет карточки inline-стилем). */
@media (max-width: 1199px) {
  .svc-ready-showcase .svc-ready-showcase__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .svc-ready-showcase .svc-ready-showcase__badge { max-width: calc(100% - 24px); line-height: 1.25; }
  .svc-ready-showcase .svc-ready-showcase__body { padding: 16px; }
  .svc-ready-showcase .svc-ready-showcase__name { font-size: 16px; }
  .svc-ready-showcase .svc-ready-showcase__size { font-size: 14px; }
  .svc-ready-showcase .om-fav { width: 44px; height: 44px; }
  .svc-ready-showcase .svc-ready-showcase__foot { flex-wrap: wrap; gap: 10px; }
  .svc-ready-showcase .svc-ready-showcase__btn { width: 100%; justify-content: center; min-height: 48px; }
  .svc-ready-showcase .svc-memorial-design__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .svc-ready-showcase .svc-ready-showcase__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .svc-ready-showcase:has(> .lnd-more--show) .svc-ready-showcase__grid > :nth-child(n+4 of :not([style*="display: none"])) { display: none; }
  .svc-ready-showcase:not(:has(.svc-ready-showcase__grid > :nth-child(4 of :not([style*="display: none"])))) .lnd-more--show { display: none; }
  .svc-ready-showcase > .lnd-more--show { margin-top: 12px; }
  .svc-ready-showcase .svc-ready-showcase__name { font-size: 17px; }
  .svc-ready-showcase .svc-memorial-design__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Блог: всплывающий список «3 книги» / «422 главы в книгах» (blog-books-pop, components/blog.css). Телефон — по центру
   экрана на всю ширину без полей 16px: окошко считается от ряда цифр (он стоит по центру), а не от кнопки, которая
   бывает у правого края (в нижнем баннере уезжало за экран влево). */
@media (max-width: 767px) {
  .blog-stats__row, .blog-footer-banner__stats { position: relative; }
  .blog-kbstat { position: static; }
  .blog-books-pop,
  .blog-kbstat--up .blog-books-pop { left: 50%; right: auto; width: calc(100vw - 32px); max-width: none; transform: translateX(-50%); }
}
