/* Правила меню переехали в assets/css/mm-nav.css: мегаменю теперь на всех
   страницах, а здесь они были привязаны к body.mm-h2-page и на главной
   перебивали новые по весу. Убрано 2026-08-21. */
/* ==========================================================================
   Главная v2 (/home-v2/). Подключается ПОСЛЕ mm-preview.css.
   Токены — только из :root mm-preview.css, новых переменных не вводим.
   Числа и валюта — Inter + tabular-nums: в Cormorant нет глифа ฿.
   ========================================================================== */

/* ------------------------- 0. Контейнеры и ритм ------------------------- */
.mm-h2-wide { max-width: 1500px; margin: 0 auto; padding-inline: var(--mm-gutter); }
.mm-h2-in { max-width: 1280px; margin: 0 auto; padding-inline: var(--mm-gutter); }
.mm-h2-sec { padding-block: clamp(56px, 6vw, 96px); background: var(--mm-paper); }
.mm-h2-sec-tight { padding-block: clamp(28px, 3.5vw, 48px); }
/* Ловушка проекта: .mm-preview-shell a {color:inherit}
перебивает одноклассовые
   правила кнопок. Возвращаем цвета явно, с достаточной специфичностью. */
.mm-h2-sec a.mm-button-gold,
.mm-h2-hero a.mm-ph-btn-gold { color: #171911; }
.mm-h2-sec a.mm-button-dark { color: var(--mm-white); }
.mm-h2-sec a.mm-button-light { color: var(--mm-ink); }
.mm-h2-sec a.mm-button-ghost { color: var(--mm-paper); border-color: rgba(247, 243, 236, .4); }
.mm-h2-mbar a.mm-button-gold { color: #171911; }
/* Вторая ловушка: mm_preview_output_filter() подменяет ссылки на WhatsApp/Telegram
   на <button data-mm-msg>, а общий сброс button[data-mm-msg] в mm-preview.css
   обнуляет фон, рамку и паддинги. Возвращаем вид кнопки на всех наших плоскостях. */
.mm-preview-shell .mm-h2-sec button.mm-button[data-mm-msg],
.mm-preview-shell .mm-h2-sec button.mm-button[data-mm-msg]:focus,
.mm-preview-shell .mm-h2-sec button.mm-button[data-mm-msg]:hover,
.mm-preview-shell .mm-h2-mbar button.mm-button[data-mm-msg],
.mm-preview-shell .mm-h2-mbar button.mm-button[data-mm-msg]:focus,
.mm-preview-shell .mm-h2-mbar button.mm-button[data-mm-msg]:hover {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 17px;
    border: 1px solid transparent;
    border-radius: var(--mm-radius-sm);
    font-family: var(--mm-sans);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
}
.mm-preview-shell .mm-h2-sec button.mm-button-gold[data-mm-msg],
.mm-preview-shell .mm-h2-sec button.mm-button-gold[data-mm-msg]:focus,
.mm-preview-shell .mm-h2-mbar button.mm-button-gold[data-mm-msg],
.mm-preview-shell .mm-h2-mbar button.mm-button-gold[data-mm-msg]:focus {
    background: var(--mm-gold);
    border-color: var(--mm-gold);
    color: #171911;
}
.mm-preview-shell .mm-h2-sec button.mm-button-gold[data-mm-msg]:hover,
.mm-preview-shell .mm-h2-mbar button.mm-button-gold[data-mm-msg]:hover {
    background: #c1a06a;
    border-color: #c1a06a;
    color: #171911;
}
.mm-preview-shell .mm-h2-sec button.mm-button-ghost[data-mm-msg],
.mm-preview-shell .mm-h2-sec button.mm-button-ghost[data-mm-msg]:focus,
.mm-preview-shell .mm-h2-sec button.mm-button-ghost[data-mm-msg]:hover {
    background: none;
    border-color: rgba(247, 243, 236, .4);
    color: var(--mm-paper);
}
.mm-preview-shell .mm-h2-sec button.mm-button-light[data-mm-msg],
.mm-preview-shell .mm-h2-sec button.mm-button-light[data-mm-msg]:focus,
.mm-preview-shell .mm-h2-sec button.mm-button-light[data-mm-msg]:hover {
    background: rgba(255, 255, 255, .38);
    border-color: var(--mm-line);
    color: var(--mm-ink);
}
/* Любое число на главной — Inter, tabular-nums. */
.mm-h2-num,
.mm-h2-price,
.mm-h2-map-row-v b,
.mm-h2-fact b {
    font-family: var(--mm-sans);
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}
/* --------------------------- 1. Шапка секции ---------------------------- */
.mm-h2-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 28px;
}
.mm-h2-head-t { max-width: 760px; }
.mm-h2-eyebrow {
    margin: 0 0 16px;
    color: var(--mm-gold);
    font-family: var(--mm-sans);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.mm-h2-head h2 {
    margin: 0;
    font-family: var(--mm-serif);
    font-size: clamp(34px, 5vw, 62px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.01em;
}
.mm-h2-lead {
    max-width: 62ch;
    margin: 14px 0 0;
    /* --mm-muted на --mm-paper-2 даёт 4,06:1 — ниже AA. Подмешиваем ink,
       остаёмся внутри палитры :root. Старые браузеры получат --mm-muted. */
    color: var(--mm-muted);
    color: color-mix(in srgb, var(--mm-muted) 70%, var(--mm-ink));
    font-size: clamp(15px, 1.1vw, 18px);
    line-height: 1.62;
}
.mm-h2-head-cta { flex: 0 0 auto; white-space: nowrap; }
/* ------------------------- 2. Перелинковка ------------------------------ */
.mm-h2-links { margin-top: clamp(28px, 3vw, 44px); }
.mm-h2-links-t {
    margin: 0 0 10px;
    color: var(--mm-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.mm-h2-links-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: 26px;
    margin: 0;
    padding: 0;
    list-style: none;
}
/* Имена в 1–3 строки: без растяжки нижние границы в одном ряду разъезжаются. */
.mm-h2-links-grid li { display: flex; min-width: 0; }
.mm-h2-links-grid li > .mm-h2-link { flex: 1 1 auto; }
.mm-h2-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 40px;
    padding: 8px 0;
    border-bottom: 1px solid var(--mm-line);
}
.mm-h2-link-n {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--mm-ink);
    transition: color .2s ease;
}
.mm-h2-link-c {
    flex: 0 0 auto;
    color: var(--mm-muted);
    font-size: 12.5px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}
.mm-h2-link:hover .mm-h2-link-n { color: var(--mm-gold); }
/* ------------------------------ 3. Hero --------------------------------- */
/* Движок и стили — mm-place-v8.css. Здесь только локальные переопределения. */
.mm-h2-hero .mm-ph-stage { height: min(78vh, 720px); }
.mm-h2-hero .mm-ph { border-bottom: 0; }
.mm-h2-hero-flat {
    padding: clamp(56px, 8vw, 110px) 0;
    background: var(--mm-olive);
    color: var(--mm-paper);
}
.mm-h2-hero-flat h1 {
    max-width: 17ch;
    margin: 0 0 24px;
    font-family: var(--mm-serif);
    font-size: clamp(36px, 4.2vw, 56px);
    font-weight: 400;
    line-height: .98;
}
.mm-h2-hero-flat-cta { display: flex; flex-wrap: wrap; gap: 12px; }
/* -------------------------- 4. Полоса фактов ---------------------------- */
.mm-h2-facts { background: var(--mm-paper); }
/* Колонок ровно столько, сколько фактов (--n приходит из шаблона): часть
   цифр зависит от внешних источников и может не прийти, а жёсткий repeat(6)
   оставлял в полосе пустую серую ячейку.
   Разделители — тень ячейки, а не фон сетки: пустое место остаётся бумагой. */
.mm-h2-facts-grid {
    display: grid;
    grid-template-columns: repeat(var(--n, 6), minmax(0, 1fr));
    gap: 1px;
    border-block: 1px solid var(--mm-line);
    background: var(--mm-paper);
}
.mm-h2-fact {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    min-height: 104px;
    padding: 20px clamp(16px, 2vw, 28px);
    background: var(--mm-paper);
    box-shadow: 0 0 0 1px var(--mm-line);
    transition: background .2s ease;
}
.mm-h2-fact .mm-h2-num {
    color: var(--mm-ink);
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1;
    transition: color .2s ease;
}
.mm-h2-num-l {
    color: var(--mm-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}
a.mm-h2-fact:hover { background: var(--mm-surface); }
a.mm-h2-fact:hover .mm-h2-num { color: var(--mm-gold); }
/* --------------------------- 5. Карта районов --------------------------- */
.mm-h2-map { background: var(--mm-paper-2); }
/* Bbox тринадцати районов вытянут по вертикали: в проекции Меркатора
   ширина/высота ≈ 0.51 (lng 100.855–101.061, lat 12.722–13.119). На широком
   холсте 928×560 полигоны занимали 32% ширины — две трети карты были морем.
   Поэтому карта — узкая колонка с близким аспектом, а освободившееся место
   отдано списку районов: он раскладывается в две колонки и больше не скроллится. */
.mm-h2-map-layout {
    display: grid;
    grid-template-columns: 400px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}
.mm-h2-map-canvas {
    height: 620px;
    border: 1px solid var(--mm-line);
    border-radius: 14px;
    background: var(--mm-surface);
    overflow: hidden;
    z-index: 0;
}
.mm-h2-map-list { display: grid; gap: 12px; }
.mm-h2-map-rows {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
    padding-right: 2px;
}
.mm-h2-map-rows::-webkit-scrollbar { width: 0; height: 0; }
.mm-h2-map-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 60px;
    padding: 11px 15px 11px 13px;
    border: 1px solid var(--mm-line);
    /* Цветная метка района: та же переменная, что уходит в fillColor полигона. */
    border-left: 4px solid var(--mm-c, var(--mm-olive));
    border-radius: 8px;
    background: var(--mm-surface);
    transition: background .18s ease, border-color .18s ease;
}
.mm-h2-map-row.is-empty { opacity: .55; }
.mm-h2-map-row.is-on,
.mm-h2-map-row:hover {
    background: var(--mm-paper-2);
    border-color: rgba(173, 139, 81, .5);
    border-left-color: var(--mm-c, var(--mm-olive));
}
.mm-h2-map-row-t { display: grid; gap: 3px; min-width: 0; }
.mm-h2-map-row-t b { font-size: 15px; font-weight: 600; }
.mm-h2-map-row-t span {
    overflow: hidden;
    color: var(--mm-muted);
    font-size: 12.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Цифра района — медиана ฿/м² («≈ 96 400 ฿/м²»): строка длиннее прежней
   цены объекта, поэтому колонка не переносится и не даёт левой части
   схлопнуться. Символ ฿ и цифры — Inter/tabular-nums (правило выше). */
.mm-h2-map-row-v { display: grid; gap: 2px; flex: 0 0 auto; text-align: right; }
.mm-h2-map-row-v b { font-size: 13.5px; white-space: nowrap; }
.mm-h2-map-row-v span {
    color: var(--mm-muted);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}
.mm-h2-map-go { width: 100%; }
.mm-h2-map-tip {
    padding: 6px 11px;
    border: 0;
    border-radius: 999px;
    background: rgba(15, 22, 18, .78);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: none;
    color: #fff;
    font-family: var(--mm-sans);
    font-size: 11px;
    font-weight: 700;
}
.mm-h2-map-tip b { color: #fff; }
.mm-h2-map-tip b + b { color: var(--mm-gold); font-variant-numeric: tabular-nums; }
/* Подпись к цифре — та же, что в списке справа («медиана ฿/м²»). */
.mm-h2-map-tip i {
    display: block;
    margin-top: 1px;
    color: rgba(255, 255, 255, .62);
    font-size: 9.5px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.mm-h2-map-tip::before { display: none; }
/* -------------------------- 6. Жилые комплексы -------------------------- */
.mm-h2-cx { background: var(--mm-paper); }
.mm-h2-cx-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.mm-h2-cx-grid.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mm-h2-cx-card {
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
    border: 1px solid var(--mm-line);
    border-radius: var(--mm-radius-lg);
    background: var(--mm-surface);
    box-shadow: var(--mm-shadow-card);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.mm-h2-cx-card:hover {
    transform: translateY(-2px);
    border-color: rgba(173, 139, 81, .5);
    box-shadow: 0 22px 52px rgba(28, 33, 25, .14);
}
.mm-h2-cx-photo {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--mm-paper-3);
}
.mm-h2-cx-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}
.mm-h2-cx-card:hover .mm-h2-cx-photo img { transform: scale(1.04); }
.mm-h2-cx-photo::after {
    content: "";
    position: absolute;
    inset: 40% 0 0;
    background: linear-gradient(180deg, rgba(10, 13, 10, 0) 0%, rgba(10, 13, 10, .78) 100%);
}
.mm-h2-cx-badge {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 12px;
    padding: 5px 11px;
    border: 1px solid rgba(247, 243, 236, .26);
    border-radius: var(--mm-radius-pill);
    background: rgba(15, 22, 18, .72);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    color: var(--mm-paper);
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-variant-numeric: tabular-nums;
}
.mm-h2-cx-name {
    position: absolute;
    z-index: 2;
    right: 16px;
    bottom: 0;
    left: 16px;
    padding: 14px 0;
    color: #fff;
    font-family: var(--mm-serif);
    font-size: 22px;
    line-height: 1.12;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
.mm-h2-cx-body { display: grid; align-content: start; gap: 10px; padding: 16px 18px 18px; }
.mm-h2-cx-sub { color: var(--mm-muted); font-size: 12.5px; line-height: 1.5; }
.mm-h2-cx-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mm-h2-cx-chips span {
    padding: 5px 11px;
    border-radius: var(--mm-radius-pill);
    background: var(--mm-paper-2);
    color: var(--mm-ink);
    font-size: 12px;
}
.mm-h2-cx-metric {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-top: 2px;
    padding-top: 12px;
    border-top: 1px solid var(--mm-line);
}
.mm-h2-price { font-size: 21px; line-height: 1; color: var(--mm-ink); }
.mm-h2-cx-metric span { color: var(--mm-muted); font-size: 12.5px; font-variant-numeric: tabular-nums; }
/* --------------------------- 7. Новые объекты --------------------------- */
.mm-h2-new { background: var(--mm-paper-2); }
.mm-h2-new-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* -------------------------- 7a. Калькулятор ----------------------------- */
/* Плашка целиком — существующий mm_cx_calc_section() со страниц ЖК
   (.mm-cx-calc уже тёмно-оливковая с золотом). Здесь только посадка
   в секцию главной, числа Inter и подпись об источнике. */
.mm-h2-calc { background: var(--mm-paper); }
.mm-h2-calc .mm-cx-calc { margin-top: 0; }
.mm-h2-calc .mm-cx-out strong,
.mm-h2-calc .mm-cx-types button,
.mm-h2-calc .mm-cx-deals {
    font-family: var(--mm-sans);
    font-variant-numeric: tabular-nums;
}
.mm-h2-calc .mm-cx-out strong { font-weight: 800; }
.mm-h2-calc-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 18px;
}
.mm-h2-calc-note span { color: var(--mm-muted); font-size: 13px; line-height: 1.55; }
.mm-h2-sec.mm-h2-calc .mm-h2-calc-note a:not(.mm-button) {
    color: var(--mm-gold);
    border-bottom: 1px solid rgba(173, 139, 81, .45);
}
.mm-h2-calc-note .mm-button { flex: 0 0 auto; }
/* Переход в каталог под результатом расчёта. Плашка тёмно-оливковая,
   поэтому кнопка золотая; цвет текста задаём явно — .mm-preview-shell
   a {color:inherit}
перебивает одноклассовое правило .mm-button-gold. */
.mm-h2-calc .mm-cx-calc a.mm-cx-calc-go,
.mm-h2-calc .mm-cx-calc a.mm-cx-calc-go:hover,
.mm-h2-calc .mm-cx-calc a.mm-cx-calc-go:focus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 16px;
    color: #171911;
    font-family: var(--mm-sans);
    font-variant-numeric: tabular-nums;
    text-align: center;
    white-space: normal;
    line-height: 1.25;
}
.mm-h2-calc .mm-cx-calc a.mm-cx-calc-go[hidden] { display: none; }
@media (max-width: 560px) {
    .mm-h2-calc .mm-cx-calc a.mm-cx-calc-go { width: 100%; padding-inline: 14px; }

}
/* ----------------------- 7b. Места притяжения --------------------------- */
.mm-h2-places { background: var(--mm-paper-2); }
.mm-h2-places-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.mm-h2-place { display: block; }
.mm-h2-place-ph {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--mm-radius-lg);
    background: var(--mm-paper-3);
}
.mm-h2-place-ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.mm-h2-place:hover .mm-h2-place-ph img { transform: scale(1.05); }
/* Подпись лежит на фото — без градиента контраст падает ниже 2:1. */
.mm-h2-place-ph::after {
    content: "";
    position: absolute;
    inset: 38% 0 0;
    background: linear-gradient(180deg, rgba(10, 13, 10, 0) 0%, rgba(10, 13, 10, .82) 100%);
}
.mm-h2-place-kind {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 12px;
    padding: 5px 11px;
    border: 1px solid rgba(247, 243, 236, .26);
    border-radius: var(--mm-radius-pill);
    background: rgba(15, 22, 18, .72);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    color: var(--mm-paper);
    font-family: var(--mm-sans);
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.mm-h2-place-cap {
    position: absolute;
    z-index: 2;
    right: 16px;
    bottom: 14px;
    left: 16px;
    display: grid;
    gap: 4px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
    transition: transform .3s ease;
}
.mm-h2-place:hover .mm-h2-place-cap { transform: translateY(-2px); }
.mm-h2-place-cap b { font-family: var(--mm-serif); font-size: 22px; font-weight: 400; line-height: 1.12; }
.mm-h2-place-cap span { color: rgba(255, 255, 255, .82); font-size: 12.5px; }
/* ------------------------ 7c. Планы развития ---------------------------- */
/* Карточки — компонент .mm-ap-card из inc/mm-area-plans.php (его CSS и его
   же тоггл «Показать все»). Класс .mm-ap-grid контейнеру НЕ даём: mm-cx.js
   монтирует на него «рельсу» с горизонтальным скроллом и стрелками
   (селектор в mm-cx.js), и сетка на 4 колонки разъезжается. Поэтому
   повторяем оболочку сетки здесь. */
.mm-h2-plans { background: var(--mm-paper); }
.mm-h2-plans-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(32, 36, 31, .12);
    border-radius: var(--mm-radius-lg);
    background: var(--mm-surface);
}
.mm-h2-plans .mm-ap-more { display: flex; justify-content: center; margin-top: 18px; }
/* ------------------------- 7c2. Анонсы блога ---------------------------- */
/* Карточка — готовый компонент .mm-post-card из mm-preview.css (тот же, что
   в архиве блога). Здесь только сетка на 4 колонки и посадка заголовка:
   штатные 22px/900 рассчитаны на три колонки во всю ширину архива. */
.mm-h2-blog { background: var(--mm-paper-2); }
.mm-h2-blog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mm-h2-blog .mm-post-card {
    display: flex;
    flex-direction: column;
    border-radius: var(--mm-radius-lg);
}
.mm-h2-blog .mm-post-card > div { gap: 9px; padding: 18px; }
.mm-h2-blog .mm-post-card h2 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
}
.mm-h2-blog .mm-post-card h2 a { transition: color .2s ease; }
.mm-h2-blog .mm-post-card:hover h2 a { color: var(--mm-gold); }
.mm-h2-blog .mm-post-card p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 13.5px;
}
.mm-h2-blog .mm-post-card .mm-eyebrow {
    margin: 0;
    color: var(--mm-gold);
    font-family: var(--mm-sans);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.mm-h2-blog .mm-post-card-image img { transition: transform .5s ease; }
.mm-h2-blog .mm-post-card:hover .mm-post-card-image img { transform: scale(1.04); }
/* ---------------------------- 7d. YouTube ------------------------------- */
.mm-h2-yt {
    background: var(--mm-surface);
    border-block: 1px solid var(--mm-line);
}
/* .mm-youtube-section приходит с боевой главной вместе со стилями;
   на широком контейнере правая панель должна быть фиксированной. */
.mm-h2-yt .mm-h2-yt-layout {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 420px;
    gap: clamp(28px, 6vw, 78px);
    align-items: start;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
}
.mm-h2-yt-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
}
.mm-h2-yt-card {
    display: grid;
    gap: 8px;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
    cursor: pointer;
}
.mm-h2-yt-frame {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--mm-radius-lg);
    background: var(--mm-paper-3);
}
.mm-h2-yt-frame img,
.mm-h2-yt-frame iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    object-fit: cover;
    transition: transform .4s ease;
}
.mm-h2-yt-card:hover .mm-h2-yt-frame img { transform: scale(1.03); }
.mm-h2-yt-play {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f00;
    transform: translate(-50%, -50%);
    transition: transform .25s ease;
}
.mm-h2-yt-card:hover .mm-h2-yt-play { transform: translate(-50%, -50%) scale(1.08); }
.mm-h2-yt-cap {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--mm-ink);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}
.mm-h2-yt .mm-h2-yt-panel {
    display: grid;
    gap: 14px;
    align-content: start;
    padding: 28px;
    border-radius: var(--mm-radius-lg);
    background: var(--mm-olive);
    color: var(--mm-paper);
}
.mm-h2-yt-panel > span { color: rgba(247, 243, 236, .72); font-size: 12px; }
.mm-h2-yt-num { color: var(--mm-paper); font-size: clamp(30px, 3.4vw, 40px); line-height: 1; }
.mm-h2-yt-panel > em { color: rgba(247, 243, 236, .72); font-size: 13px; font-style: normal; margin-top: -8px; }
.mm-h2-yt-list { display: grid; margin: 0; padding: 0; list-style: none; }
.mm-h2-yt-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 0;
    border-top: 1px solid rgba(247, 243, 236, .14);
    font-size: 13px;
}
.mm-h2-yt-list li:first-child { border-top: 0; }
.mm-h2-yt-list span { color: rgba(247, 243, 236, .72); }
.mm-h2-yt-list b { color: var(--mm-paper); font-size: 15px; }
.mm-h2-sec.mm-h2-yt a.mm-button-gold { color: #171911; }
/* ---------------------------- 7e. Медиа --------------------------------- */
/* Витрина — компонент .mm-cx-tour со страницы ЖК: свой CSS в mm-preview.css,
   свой движок в mm-cx.js. Здесь только посадка в широкую секцию. */
.mm-h2-media { background: var(--mm-paper-2); }
.mm-h2-media .mm-h2-head { margin-bottom: 18px; }
.mm-h2-media-act { margin-bottom: 4px; }
/* ----------------------------- 8. Доверие ------------------------------- */
.mm-h2-trust { background: var(--mm-paper); }
.mm-h2-trust .mm-usp { padding-inline: 0; }
.mm-h2-trust .mm-trust-metrics { grid-template-columns: repeat(4, 1fr); }
.mm-h2-trust .mm-trust-metric-big {
    font-family: var(--mm-sans);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.mm-h2-trust .mm-usp-hub-bottom { grid-template-columns: 1.15fr .85fr; }
.mm-h2-trust-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--mm-line);
}
.mm-h2-trust-note span { color: var(--mm-muted); font-size: 13px; }
/* Абзац под сравнительной таблицей и дисклеймер под «Безопасностью сделки» —
   приходят аргументами mm_trust_render(), рисуются только на главной. */
.mm-h2-trust .mm-trust-compare-note {
    margin: 18px 0 0;
    color: var(--mm-muted);
    font-size: 14px;
    line-height: 1.65;
}
.mm-h2-trust .mm-trust-safety-note {
    margin: 14px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--mm-line);
    color: var(--mm-muted);
    font-size: 12px;
    line-height: 1.55;
}
/* --------------------------- 8b. Частые вопросы ------------------------- */
/* Аккордеон — штатные .mm-faq details из mm-preview.css, здесь только сетка
   (в общем файле она прибита к .mm-page-content) и фон секции. */
.mm-h2-faq { background: var(--mm-paper-2); }
.mm-h2-faq .mm-faq { display: grid; gap: 10px; }
.mm-h2-faq .mm-faq summary { font-size: 16px; }
.mm-h2-faq .mm-faq details > div p { margin: 0; }
/* ------------------------------ 9. Офис --------------------------------- */
/* Ритм фонов: … 11 доверие (paper) → 12 офис (paper-2) → 13 отзывы (paper)
   → CTA (paper-2). Двух одинаковых подряд на странице нет. */
.mm-h2-office { background: var(--mm-paper-2); }
.mm-h2-office-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr);
    gap: 24px;
    align-items: start;
}
.mm-h2-office-ph {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--mm-radius-lg);
    background: var(--mm-paper-3);
}
.mm-h2-office-ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.mm-h2-office-ph:hover img { transform: scale(1.03); }
.mm-h2-office-ph::after {
    content: "";
    position: absolute;
    inset: 42% 0 0;
    background: linear-gradient(180deg, rgba(10, 13, 10, 0) 0%, rgba(10, 13, 10, .82) 100%);
}
.mm-h2-office-rate {
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 14px;
    padding: 6px 12px;
    border: 1px solid rgba(247, 243, 236, .26);
    border-radius: var(--mm-radius-pill);
    background: rgba(15, 22, 18, .72);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    color: var(--mm-paper);
    font-family: var(--mm-sans);
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.mm-h2-office-cap {
    position: absolute;
    z-index: 2;
    right: 20px;
    bottom: 18px;
    left: 20px;
    display: grid;
    gap: 6px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
.mm-h2-office-cap b { font-family: var(--mm-serif); font-size: 24px; font-weight: 400; }
.mm-h2-office-cap span { font-size: 13px; color: rgba(255, 255, 255, .82); line-height: 1.5; }
.mm-h2-office-side { display: grid; gap: 14px; }
.mm-h2-office-card {
    padding: 22px;
    border: 1px solid var(--mm-line);
    border-radius: var(--mm-radius-lg);
    background: var(--mm-surface);
}
.mm-h2-office-row { display: grid; gap: 3px; padding: 12px 0; border-bottom: 1px solid var(--mm-line); }
.mm-h2-office-row:first-child { padding-top: 0; }
.mm-h2-office-row b { font-size: 14.5px; font-weight: 600; }
.mm-h2-office-row span { color: var(--mm-muted); font-size: 12.5px; line-height: 1.5; }
.mm-h2-office-btns { display: grid; gap: 10px; margin-top: 18px; }
.mm-h2-office-metrics {
    display: grid;
    gap: 1px;
    padding: 20px;
    border-radius: var(--mm-radius-lg);
    background: var(--mm-olive);
    color: var(--mm-paper);
}
.mm-h2-office-metric { display: grid; gap: 3px; padding: 8px 0; }
.mm-h2-office-metric + .mm-h2-office-metric { border-top: 1px solid rgba(247, 243, 236, .14); }
.mm-h2-office-metric .mm-h2-num { color: var(--mm-paper); font-size: clamp(22px, 2.2vw, 28px); line-height: 1; }
.mm-h2-office-metric span { color: rgba(247, 243, 236, .72); font-size: 12.5px; }
.mm-h2-office-foot { margin: 10px 0 0; color: rgba(247, 243, 236, .72); font-size: 12px; line-height: 1.5; }
/* ----------------------------- 10. Отзывы ------------------------------- */
.mm-h2-rev { background: var(--mm-paper); }
.mm-h2-rev .mm-reviews-layout { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 24px; }
.mm-h2-rev .mm-reviews-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
/* --------------------------- 11. Финальный CTA -------------------------- */
.mm-h2-cta { background: var(--mm-paper-2); }
.mm-h2-cta-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: center;
    padding: clamp(28px, 4vw, 52px);
    border-radius: var(--mm-radius-lg);
    background: var(--mm-olive);
    color: var(--mm-paper);
}
.mm-h2-cta-box h2 {
    margin: 0;
    color: var(--mm-paper);
    font-family: var(--mm-serif);
    font-size: clamp(28px, 3.4vw, 44px);
    font-weight: 400;
    line-height: 1.04;
}
.mm-h2-cta-box p {
    max-width: 52ch;
    margin: 12px 0 0;
    color: rgba(247, 243, 236, .72);
    font-size: 15px;
    line-height: 1.6;
}
.mm-h2-cta-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
/* Третий канал — текстовой ссылкой, чтобы не спорить с двумя кнопками.
   mm_preview_output_filter() подменит <a> на <button data-mm-msg> — покрываем оба. */
.mm-preview-shell .mm-h2-cta-btns a.mm-h2-cta-tg,
.mm-preview-shell .mm-h2-cta-btns button.mm-h2-cta-tg[data-mm-msg],
.mm-preview-shell .mm-h2-cta-btns button.mm-h2-cta-tg[data-mm-msg]:focus {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 2px;
    border: 0;
    border-radius: 6px;
    background: none;
    box-shadow: none;
    color: rgba(247, 243, 236, .74);
    font-family: var(--mm-sans);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}
.mm-preview-shell .mm-h2-cta-btns a.mm-h2-cta-tg:hover,
.mm-preview-shell .mm-h2-cta-btns button.mm-h2-cta-tg[data-mm-msg]:hover { color: var(--mm-gold); }
/* ------------------- 12. Липкая мобильная полоса ------------------------ */
.mm-h2-mbar {
    position: fixed;
    z-index: 60;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    align-items: center;
    gap: 10px;
    height: 62px;
    padding: 0 14px calc(0px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--mm-line);
    background: rgba(247, 243, 236, .96);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    transform: translateY(110%);
    transition: transform .25s ease;
}
.mm-h2-mbar.is-on { transform: none; }
.mm-h2-mbar .mm-button { flex: 1 1 auto; }
.mm-preview-shell .mm-h2-mbar button.mm-h2-mbar-wa[data-mm-msg],
.mm-preview-shell .mm-h2-mbar button.mm-h2-mbar-wa[data-mm-msg]:hover,
.mm-h2-mbar-wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    border: 1px solid var(--mm-line);
    border-radius: var(--mm-radius-sm);
    background: var(--mm-white);
    color: var(--mm-ink);
}
/* ------------------- 13b. Мобильное меню (drawer) ----------------------- */
/* Тот же набор данных, что в мегаменю, но аккордеоном: 13 районов плюс
   типы, медиа и «О нас» развёрнутыми в 390px не помещаются.
   Разметку отдаёт шаблон скрытым блоком, mm-h2.js подставляет её вместо
   штатного .mm-drawer-nav. Все правила привязаны к body.mm-h2-page —
   drawer общий для сайта и на других страницах остаётся прежним. */
.mm-h2-dnavsrc { display: none; }
body.mm-h2-page .mm-h2-dnav { margin-top: 14px; gap: 0; }
body.mm-h2-page .mm-h2-dsec { border-bottom: 1px solid rgba(32, 36, 31, .1); }
body.mm-h2-page .mm-h2-dsec-t,
body.mm-h2-page .mm-h2-dsec-t:hover,
body.mm-h2-page .mm-h2-dsec-t:focus {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 11px 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    color: var(--mm-ink);
    font-family: var(--mm-serif);
    font-size: 21px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.15;
    text-align: left;
    text-transform: none;
    cursor: pointer;
}
body.mm-h2-page .mm-h2-dsec-chev {
    flex: 0 0 auto;
    color: var(--mm-muted);
    transition: transform .2s ease;
}
body.mm-h2-page .mm-h2-dsec.is-open .mm-h2-dsec-t { color: var(--mm-olive); }
body.mm-h2-page .mm-h2-dsec.is-open .mm-h2-dsec-chev { color: var(--mm-olive); transform: rotate(180deg); }
body.mm-h2-page .mm-h2-dsec-p { padding: 0 0 12px; }
body.mm-h2-page .mm-h2-dsec-p[hidden] { display: none; }
body.mm-h2-page .mm-h2-dcap {
    margin: 10px 0 2px;
    color: var(--mm-gold);
    font-family: var(--mm-sans);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1;
    text-transform: uppercase;
}
body.mm-h2-page .mm-h2-dcap:first-child { margin-top: 2px; }
/* Пункт: тап-зона 44px, справа число или цена. */
body.mm-h2-page .mm-h2-drow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    padding: 5px 0;
    border-bottom: 1px solid rgba(32, 36, 31, .07);
    color: var(--mm-ink);
    font-family: var(--mm-sans);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.25;
    text-decoration: none;
}
body.mm-h2-page .mm-h2-drow:last-child { border-bottom: 0; }
body.mm-h2-page .mm-h2-drow-n { flex: 1 1 auto; min-width: 0; }
body.mm-h2-page .mm-h2-drow-r {
    flex: 0 0 auto;
    display: flex;
    align-items: baseline;
    gap: 8px;
}
/* Цифры и ฿ — Inter 800 + tabular-nums (в Cormorant нет глифа бата). */
body.mm-h2-page .mm-h2-drow-v,
body.mm-h2-page .mm-h2-drow-c {
    font-family: var(--mm-sans);
    font-style: normal;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    white-space: nowrap;
}
/* 12,5px: «≈ 96 400 ฿/м²» на 390px должно уместиться рядом с названием района. */
body.mm-h2-page .mm-h2-drow-v { color: var(--mm-ink); font-size: 12.5px; font-weight: 800; }
body.mm-h2-page .mm-h2-drow-c { color: var(--mm-muted); font-size: 12px; font-weight: 800; }
/* Метка района — цвет полигона на карте, приходит из PHP как --mm-c. */
body.mm-h2-page .mm-h2-darow .mm-h2-drow-n {
    display: flex;
    align-items: center;
    gap: 9px;
}
body.mm-h2-page .mm-h2-darow .mm-h2-drow-n::before {
    content: "";
    flex: 0 0 auto;
    width: 9px;
    height: 18px;
    border-radius: 2px;
    background: var(--mm-c, var(--mm-olive));
}
body.mm-h2-page .mm-h2-dmore { color: var(--mm-olive); font-weight: 700; }
/* Пункт без вложений («Жилые комплексы») — в ряд с заголовками разделов. */
body.mm-h2-page .mm-h2-dlink {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(32, 36, 31, .1);
    color: var(--mm-ink);
    font-family: var(--mm-serif);
    font-size: 21px;
    font-weight: 400;
    line-height: 1.15;
    text-decoration: none;
}
/* ============================ Брейкпоинты ============================== */
@media (max-width: 1180px) {
    .mm-h2-links-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 26px; }
    .mm-h2-facts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mm-h2-map-layout { grid-template-columns: 340px minmax(0, 1fr); gap: 22px; }
    .mm-h2-map-canvas { height: 540px; }
    .mm-h2-plans-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mm-h2-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
    .mm-h2-links-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mm-h2-map-layout { grid-template-columns: minmax(0, 1fr); }
    /* Одна колонка: карту не растягиваем на всю ширину — иначе снова море.
       Держим аспект, близкий к bbox районов, и центрируем. */
    .mm-h2-map-canvas {
        width: 100%;
        max-width: 420px;
        height: auto;
        margin-inline: auto;
        aspect-ratio: 0.66;
    }
    .mm-h2-cx-grid,
    .mm-h2-cx-grid.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mm-h2-new-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mm-h2-office-grid { grid-template-columns: minmax(0, 1fr); }
    .mm-h2-rev .mm-reviews-layout { grid-template-columns: minmax(0, 1fr); }
    .mm-h2-rev .mm-reviews-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mm-h2-trust .mm-usp-hub-bottom { grid-template-columns: minmax(0, 1fr); }
    .mm-h2-places-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mm-h2-yt .mm-h2-yt-layout { grid-template-columns: minmax(0, 1fr); }

}
/* Мегаменю выключается там же, где шапка прячет .mm-nav и включает бургер. */
@media (max-width: 1020px) {
    body.mm-h2-page .mm-h2-nav-panel { display: none; }
}
@media (max-width: 900px) {
    .mm-h2-head { flex-direction: column; align-items: stretch; }
    .mm-h2-head-cta { width: 100%; }
    .mm-h2-hero .mm-ph-stage { height: auto; }
    .mm-h2-cta-box { grid-template-columns: minmax(0, 1fr); }
    .mm-h2-cta-btns .mm-button { width: 100%; }

}
@media (max-width: 780px) {
    .mm-h2-trust .mm-trust-metrics { grid-template-columns: repeat(2, 1fr); }

}
@media (max-width: 760px) {
    .mm-h2-links-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
    .mm-h2-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mm-h2-fact { min-height: 88px; }
    .mm-h2-fact .mm-h2-num { font-size: 20px; }
    .mm-h2-cx-grid,
    .mm-h2-cx-grid.is-two,
    .mm-h2-new-grid { grid-template-columns: minmax(0, 1fr); }
    .mm-h2-map-rows { grid-template-columns: minmax(0, 1fr); }
    .mm-h2-map-canvas { aspect-ratio: 0.64; }
    .mm-h2-office-btns .mm-button { width: 100%; }
    .mm-h2-trust-note { flex-direction: column; align-items: flex-start; }
    .mm-h2-rev .mm-reviews-cards {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .mm-h2-rev .mm-reviews-cards::-webkit-scrollbar { width: 0; height: 0; }
    .mm-h2-rev .mm-review { flex: 0 0 82vw; scroll-snap-align: start; }
    .mm-h2-mbar { display: flex; }
    body.mm-h2-page { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
    /* Места — горизонтальная лента: четыре плитки в две колонки на 390px
       дают картинку 170px, на ней подпись уже не читается. */
    .mm-h2-places-grid {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .mm-h2-places-grid::-webkit-scrollbar { width: 0; height: 0; }
    .mm-h2-place { flex: 0 0 76vw; scroll-snap-align: start; }
    .mm-h2-plans-grid { grid-template-columns: minmax(0, 1fr); }
    .mm-h2-calc-note { flex-direction: column; align-items: stretch; }
    .mm-h2-calc-note .mm-button { width: 100%; }
    .mm-h2-yt-cards {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .mm-h2-yt-cards::-webkit-scrollbar { width: 0; height: 0; }
    .mm-h2-yt-card { flex: 0 0 72vw; scroll-snap-align: start; }
    /* Блог — лента, как места и отзывы: четыре карточки в столбик на 390px
       превращают секцию в бесконечную прокрутку. */
    .mm-h2-blog-grid {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .mm-h2-blog-grid::-webkit-scrollbar { width: 0; height: 0; }
    .mm-h2-blog .mm-post-card { flex: 0 0 78vw; scroll-snap-align: start; }

}
@media (max-width: 460px) {
    .mm-h2-links-grid { grid-template-columns: minmax(0, 1fr); }

}
/* ------------------- Мобильная ревизия: пальцы и переносы ---------------- */
@media (max-width: 760px) {
    /* Кнопка партиала доверия (mm-trust.php) свёрстана под десктоп: nowrap
       давал 346px внутри карточки шириной 295 и вылезал за экран.
       Правим только внутри главной v2, общий партиал не трогаем. */
    .mm-h2-trust .mm-usp a.mm-button.mm-trust-home-cta {
        width: 100%;
        min-height: 44px;
        padding-inline: 14px;
        white-space: normal;
        text-align: center;
        line-height: 1.25;
    }

    /* Палец — 44px. Компоненты ниже приезжают из общих стилей (каталог, тур,
       блок отзывов), поэтому поднимаем высоту точечно, только на главной v2. */
    .mm-h2-sec a.mm-h2-link,
    .mm-h2-sec .mm-cx-tour-yt,
    .mm-h2-sec .mm-cx-tour-all,
    .mm-h2-sec .mm-cx-tour-chip,
    .mm-h2-sec .mm-cx-tour-more,
    .mm-h2-sec .mm-card-discuss-button,
    .mm-h2-rev .mm-reviews-summary-link,
    .mm-h2-calc .mm-cx-seg button,
    .mm-h2-calc .mm-cx-types button {
        min-height: 44px;
    }
    .mm-h2-sec .mm-inline-tool-button { min-width: 44px; min-height: 44px; }

    /* Зум карты пальцем: дефолтные 30px Leaflet мимо. */
    .mm-h2-map-canvas .leaflet-control-zoom a {
        width: 38px;
        height: 38px;
        line-height: 38px;
        font-size: 20px;
    }
}

