:root {
    --mm-ink: #20241f;
    --mm-muted: #6d7169;
    --mm-paper: #f7f3ec;
    --mm-paper-2: #eee7dc;
    --mm-paper-3: #e3d8c8;
    --mm-olive: #18231d;
    --mm-olive-2: #2e3d31;
    --mm-gold: #ad8b51;
    --mm-line: rgba(32, 36, 31, .14);
    --mm-white: #fff;
    --mm-surface: #fbfaf6;
    --mm-shadow: 0 24px 70px rgba(26, 31, 24, .12);
    --mm-shadow-card: 0 16px 42px rgba(28, 33, 25, .08);
    --mm-radius-sm: 5px;
    --mm-radius: 6px;
    --mm-radius-lg: 8px;
    --mm-radius-pill: 999px;
    --mm-gutter: clamp(18px, 4vw, 64px);
    --mm-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --mm-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}

.mm-preview-body {
    background: var(--mm-paper);
    color: var(--mm-ink);
    font-family: var(--mm-sans);
    letter-spacing: 0;
}

.mm-preview-body .header-main-wrap,
.mm-preview-body .header-mobile,
.mm-preview-body .footer-wrap,
.mm-preview-body .footer-bottom-wrap,
.mm-preview-body .houzez-header-main,
.mm-preview-body .nav-mobile {
    display: none !important;
}

.mm-preview-body img {
    max-width: 100%;
}

.mm-preview-shell,
.mm-preview-shell * {
    box-sizing: border-box;
}

.mm-preview-shell a {
    color: inherit;
    text-decoration: none;
}

.mm-main {
    min-height: 60vh;
}

.mm-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 78px;
    padding: 0 calc(clamp(18px, 4vw, 64px) + max(0px, (100% - 1500px)/2));
    background: rgba(247, 243, 236, .96);
    border-bottom: 1px solid var(--mm-line);
    backdrop-filter: blur(14px);
}

.mm-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 205px;
}

.mm-brand-mark {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    overflow: hidden;
    background: #021738;
    font-family: var(--mm-serif);
    font-size: 22px;
    line-height: 1;
    flex: none;
}
.mm-brand-mark::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: radial-gradient(120% 90% at 30% 22%, rgba(255,255,255,0.10), transparent 55%);
    pointer-events: none;
}

.mm-brand-mark img {
    position: absolute;
    top: 11%;
    left: 11%;
    width: 78%;
    height: 78%;
    object-fit: contain;
    display: block;
}

.mm-brand strong {
    display: block;
    font-family: var(--mm-serif);
    font-size: 22px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mm-brand small {
    display: block;
    margin-top: 2px;
    color: var(--mm-muted);
    font-size: 11px;
    letter-spacing: 0;
    text-transform: uppercase;
}

.mm-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(14px, 2.5vw, 30px);
    color: var(--mm-muted);
    font-size: 14px;
}

.mm-nav a:hover {
    color: var(--mm-ink);
}

.mm-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mm-link-phone {
    color: var(--mm-muted);
    font-size: 14px;
}

.mm-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 17px;
    border: 1px solid transparent;
    border-radius: 5px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.mm-button svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.mm-button img {
    display: block;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    border-radius: 4px;
}

.mm-button-dark {
    background: var(--mm-olive);
    color: var(--mm-white) !important;
}

.mm-button-gold {
    background: var(--mm-gold);
    color: #171911;
}

.mm-button-light {
    border-color: var(--mm-line);
    background: rgba(255, 255, 255, .38);
    color: var(--mm-ink);
}

.mm-button-ghost {
    border-color: rgba(255, 255, 255, .4);
    color: var(--mm-white);
}

.mm-eyebrow {
    margin: 0 0 16px;
    color: var(--mm-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.mm-preview-shell h1,
.mm-preview-shell h2,
.mm-preview-shell h3 {
    margin-top: 0;
    font-family: var(--mm-serif);
    font-weight: 400;
    letter-spacing: 0;
}

.mm-home-hero {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 390px;
    gap: clamp(30px, 7vw, 100px);
    align-items: end;
    min-height: 680px;
    padding: clamp(72px, 9vw, 132px) clamp(18px, 4vw, 64px);
    color: var(--mm-white);
    background:
        linear-gradient(90deg, rgba(10, 16, 12, .78), rgba(10, 16, 12, .42), rgba(10, 16, 12, .18)),
        url("https://montmari-asia.com/wp-content/uploads/2025/06/20250327-102637-raw.jpg") center / cover;
}

.mm-hero-copy h1,
.mm-listing-hero h1 {
    max-width: 900px;
    margin-bottom: 22px;
    font-size: clamp(46px, 7vw, 92px);
    line-height: .96;
}

.mm-hero-copy p:not(.mm-eyebrow),
.mm-listing-intro,
.mm-section-head p,
.mm-property-content,
.mm-preview-shell p {
    line-height: 1.62;
}

.mm-hero-copy p:not(.mm-eyebrow) {
    max-width: 700px;
    color: rgba(255, 255, 255, .82);
    font-size: 19px;
}

.mm-hero-actions,
.mm-card-actions,
.mm-quick-links,
.mm-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.mm-hero-actions {
    margin-top: 30px;
}

.mm-hero-panel,
.mm-advisor-panel,
.mm-property-aside {
    padding: 26px;
    background: rgba(24, 35, 29, .94);
    color: var(--mm-paper);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 8px;
    box-shadow: var(--mm-shadow);
}

.mm-hero-panel span,
.mm-advisor-panel span,
.mm-dossier-grid span {
    display: block;
    margin-bottom: 14px;
    color: var(--mm-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mm-hero-panel strong,
.mm-advisor-panel strong {
    display: block;
    font-family: var(--mm-serif);
    font-size: 30px;
    font-weight: 400;
    line-height: 1.1;
}

.mm-hero-panel p,
.mm-advisor-panel p,
.mm-property-aside p,
.mm-footer p {
    color: rgba(247, 243, 236, .7);
}

.mm-segment-section,
.mm-list-section,
.mm-process-section,
.mm-property-layout {
    padding: clamp(58px, 7vw, 104px) clamp(18px, 4vw, 64px);
}

.mm-segment-section,
.mm-process-section {
    background: var(--mm-paper);
}

.mm-list-section,
.mm-listing-prototype {
    background: var(--mm-paper-2);
}

.mm-youtube-section {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 420px;
    gap: clamp(28px, 6vw, 78px);
    align-items: center;
    padding: clamp(58px, 7vw, 104px) clamp(18px, 4vw, 64px);
    background: #fbfaf6;
    border-block: 1px solid var(--mm-line);
}

.mm-youtube-section h2 {
    max-width: 840px;
    margin-bottom: 18px;
    font-size: clamp(34px, 5vw, 62px);
    line-height: 1;
}

.mm-youtube-section p:not(.mm-eyebrow) {
    max-width: 760px;
    color: var(--mm-muted);
    font-size: 18px;
    line-height: 1.62;
}

.mm-youtube-panel {
    display: grid;
    gap: 18px;
    padding: 28px;
    background: var(--mm-olive);
    color: var(--mm-paper);
    border-radius: 8px;
}

.mm-youtube-panel span,
.mm-youtube-card > span {
    color: #ffdf78;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mm-youtube-panel strong {
    font-family: var(--mm-serif);
    font-size: 31px;
    font-weight: 400;
    line-height: 1.12;
}

.mm-section-head {
    max-width: 930px;
    margin-bottom: 34px;
}

.mm-section-head-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    max-width: none;
}

.mm-section-head h2 {
    margin-bottom: 0;
    font-size: clamp(34px, 5vw, 62px);
    line-height: 1;
}

.mm-section-head p:not(.mm-eyebrow) {
    color: var(--mm-muted);
}

.mm-segment-grid,
.mm-process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--mm-line);
}

.mm-process-grid {
    grid-template-columns: repeat(4, 1fr);
}

.mm-segment-grid a,
.mm-process-grid article {
    min-height: 255px;
    padding: 30px;
    background: var(--mm-paper);
}

.mm-segment-grid span,
.mm-process-grid span {
    display: block;
    margin-bottom: 42px;
    color: var(--mm-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mm-segment-grid h3,
.mm-process-grid h3 {
    margin-bottom: 14px;
    font-size: 30px;
    line-height: 1.1;
}

.mm-segment-grid p,
.mm-process-grid p {
    color: var(--mm-muted);
}

.mm-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.mm-card {
    overflow: hidden;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
    box-shadow: 0 16px 42px rgba(28, 33, 25, .08);
}

.mm-card-image {
    position: relative;
    display: block;
    height: clamp(210px, 18vw, 255px);
    overflow: hidden;
    background: #d5cbbb;
}

.mm-card-photo-link {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.mm-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-card-photo-main,
.mm-card-photo-alt {
    transition: opacity .38s ease, transform .7s ease;
    will-change: opacity, transform;
}

.mm-card-photo-alt {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: scale(1.035);
}

.mm-card:hover .mm-card-photo-main,
.mm-card:focus-within .mm-card-photo-main {
    transform: scale(1.045);
}

.mm-card:hover .mm-card-photo-alt,
.mm-card:focus-within .mm-card-photo-alt {
    opacity: 1;
    transform: scale(1.015);
}

.mm-card-image.has-location-links::after {
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    height: 48%;
    content: "";
    background: linear-gradient(180deg, rgba(10, 13, 10, 0), rgba(10, 13, 10, .54));
    pointer-events: none;
}

.mm-badge,
.mm-photo-count,
.mm-video-badge {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.mm-badge {
    top: 12px;
    left: 12px;
    background: rgba(247, 243, 236, .92);
    color: var(--mm-ink);
}

.mm-photo-count {
    right: 12px;
    top: 12px;
    background: rgba(24, 35, 29, .86);
    color: var(--mm-white);
}

.mm-video-badge {
    left: 12px;
    bottom: 12px;
    background: rgba(15, 22, 18, .72);
    border: 1px solid rgba(255, 255, 255, .24);
    color: var(--mm-white);
    backdrop-filter: blur(8px);
}

.mm-video-badge svg {
    width: 20px;
    height: 20px;
}

.mm-card-image.has-location-links .mm-video-badge {
    bottom: 43px;
}

.mm-card-tools {
    position: absolute;
    top: 50px;
    right: 12px;
    z-index: 5;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 7px;
}

.mm-tool-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 999px;
    background: rgba(251, 250, 246, .94);
    color: var(--mm-ink);
    font: 800 12px/1 var(--mm-sans);
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
}

.mm-tool-button span {
    font-size: 16px;
    line-height: 1;
}

.mm-tool-button em {
    font-style: normal;
}

.mm-tool-button.is-active {
    background: var(--mm-olive);
    border-color: var(--mm-olive);
    color: var(--mm-white);
}

.mm-tool-button.is-compact {
    min-height: 30px;
    padding-inline: 9px;
    box-shadow: none;
}

.mm-card-tools .mm-tool-button {
    width: 38px;
    height: 38px;
    min-height: 38px;
    gap: 0;
    padding: 0;
    overflow: hidden;
    background: rgba(251, 250, 246, .9);
    border-color: rgba(255, 255, 255, .54);
    transition: width .18s ease, padding .18s ease, gap .18s ease, background-color .18s ease;
}

.mm-card-tools .mm-tool-button em {
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    white-space: nowrap;
    transition: max-width .18s ease, opacity .18s ease;
}

.mm-card-tools .mm-tool-button:hover,
.mm-card-tools .mm-tool-button:focus-visible {
    width: auto;
    gap: 7px;
    padding: 0 12px;
}

.mm-card-tools .mm-tool-button:hover em,
.mm-card-tools .mm-tool-button:focus-visible em {
    max-width: 130px;
    opacity: 1;
}

.mm-card-location-links {
    position: absolute;
    right: 12px;
    bottom: 10px;
    left: 12px;
    z-index: 4;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    max-width: calc(100% - 24px);
    padding: 0;
    color: rgba(255, 255, 255, .78);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .7);
}

.mm-card-location-links a {
    display: inline-flex;
    color: rgba(255, 255, 255, .88);
}

.mm-card-location-links a:hover {
    color: var(--mm-white);
}

.mm-card-body {
    padding: 20px;
}

.mm-card-breadcrumb,
.mm-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    color: var(--mm-muted);
    font-size: 12px;
    line-height: 1.35;
}

.mm-card-breadcrumb {
    margin-bottom: 11px;
}

.mm-card-breadcrumb a {
    color: var(--mm-muted);
}

.mm-card-breadcrumb a:hover,
.mm-breadcrumbs a:hover {
    color: var(--mm-ink);
}

.mm-breadcrumbs {
    margin-bottom: 16px;
}

.mm-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mm-breadcrumbs li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.mm-breadcrumbs li + li::before {
    content: "/";
    color: var(--mm-muted);
    font-weight: 400;
}

.mm-breadcrumbs a {
    color: var(--mm-ink);
    font-weight: 800;
}

.mm-breadcrumbs a[aria-current="page"] {
    color: var(--mm-muted);
    font-weight: 600;
}

.mm-card-topline {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.mm-card-topline-price-only {
    justify-content: flex-end;
    margin-bottom: 10px;
}

.mm-card-topline span {
    color: var(--mm-muted);
    font-size: 13px;
}

.mm-card-topline strong,
.mm-property-price {
    font-family: var(--mm-serif);
    font-size: 24px;
    font-weight: 400;
}

.mm-card-topline strong {
    white-space: normal;
}

.mm-card-topline .mm-price-wrap {
    justify-content: flex-end;
}

.mm-card-topline .mm-currency-switcher {
    font-family: var(--mm-sans);
}

.mm-card h3 {
    display: -webkit-box;
    min-height: 58px;
    margin-bottom: 16px;
    overflow: hidden;
    font-size: 23px;
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.mm-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mm-fact-table {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(74px, 1fr));
    gap: 8px;
    margin: 16px 0;
    overflow: hidden;
}

.mm-fact-table span {
    display: grid;
    gap: 3px;
    min-height: 62px;
    padding: 10px;
    background: var(--mm-white);
    border: 1px solid var(--mm-line);
    border-radius: 6px;
}

.mm-fact-table strong {
    overflow: hidden;
    font-size: 16px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mm-fact-table em {
    color: var(--mm-muted);
    font-size: 11px;
    font-style: normal;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-fact-item-empty .mm-fact-icon { visibility: hidden; }
.mm-fact-item-empty strong { color: var(--mm-muted); font-weight: 600; }

.mm-card-highlights {
    display: grid;
    gap: 8px;
    margin: 16px 0 14px;
    padding: 12px;
    background: #f0eadf;
    border-radius: 6px;
}

.mm-card-highlights b {
    color: var(--mm-muted);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-card-highlights div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.mm-card-highlights span,
.mm-highlight-grid span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 10px;
    background: #fff;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    font-size: 12px;
}

.mm-card-highlights span i,
.mm-card-highlights span img,
.mm-highlight-grid span i,
.mm-highlight-grid span img {
    display: block;
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
    object-fit: contain;
    color: var(--mm-gold);
}

.mm-card-highlights span em,
.mm-highlight-grid span em {
    font-style: normal;
}

.mm-card-meta span {
    color: var(--mm-muted);
    font-size: 13px;
}

.mm-card-actions {
    margin-top: 20px;
}

.mm-property-save-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 8px;
}

.mm-property-save-row .mm-tool-button {
    box-shadow: none;
}

.mm-listing-hero {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 360px;
    gap: clamp(28px, 7vw, 96px);
    align-items: end;
    padding: clamp(56px, 7vw, 104px) clamp(18px, 4vw, 64px) 34px;
    background: var(--mm-paper-2);
}

.mm-listing-intro {
    max-width: 780px;
    color: var(--mm-muted);
    font-size: 18px;
}

.mm-listing-intro p {
    margin-bottom: 0;
}

.mm-quick-links {
    margin-top: 24px;
}

.mm-quick-links a,
.mm-filter-pills span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .42);
}

.mm-listing-results .mm-card-grid {
    align-items: stretch;
}

.mm-listing-controls {
    display: grid;
    gap: 14px;
    margin: 0 clamp(18px, 4vw, 64px);
    padding: 18px;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
    box-shadow: 0 14px 40px rgba(28, 33, 25, .06);
}

.mm-filter-form {
    display: grid;
    gap: 14px;
}

.mm-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 12px;
}

.mm-filter-grid label,
.mm-filter-form label {
    display: grid;
    gap: 6px;
}

.mm-filter-grid label > span {
    color: var(--mm-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-filter-grid select,
.mm-filter-grid input {
    width: 100%;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid var(--mm-line);
    border-radius: 6px;
    background: var(--mm-white);
    color: var(--mm-ink);
    font: inherit;
}

.mm-feature-filter,
.mm-filter-actions,
.mm-collection-links,
.mm-social-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
}

.mm-feature-filter label {
    display: inline-flex;
    grid-auto-flow: column;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 0 11px;
    background: #f0eadf;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--mm-ink);
    font-size: 13px;
}

.mm-feature-filter input {
    width: 15px;
    height: 15px;
    accent-color: var(--mm-olive);
}

.mm-collection-links {
    padding-top: 14px;
    border-top: 1px solid var(--mm-line);
}

.mm-collection-links span {
    color: var(--mm-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-collection-links a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    background: var(--mm-white);
    font-size: 13px;
}

.mm-listing-layout {
    display: block;
    padding: 22px clamp(18px, 4vw, 64px) clamp(64px, 8vw, 112px);
    background: var(--mm-paper-2);
}

.mm-sidebar {
    display: grid;
    align-self: start;
    gap: 16px;
    position: sticky;
    top: 96px;
}

.mm-sidebar-block,
.mm-empty {
    padding: 22px;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-sidebar-block h2,
.mm-empty h2 {
    margin-bottom: 12px;
    font-size: 25px;
}

.mm-sidebar-block p,
.mm-sidebar-block li {
    color: var(--mm-muted);
}

.mm-sidebar-muted {
    background: #f3eee6;
}

.mm-sidebar-muted ul {
    margin: 0;
    padding-left: 18px;
    line-height: 1.7;
}

.mm-pagination {
    display: flex;
    gap: 8px;
    margin-top: 26px;
}

.mm-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 0 10px;
    border: 1px solid var(--mm-line);
    border-radius: 6px;
    background: #fbfaf6;
}

.mm-pagination .current {
    background: var(--mm-olive);
    color: var(--mm-paper);
}

.mm-property-hero {
    padding: 24px clamp(18px, 4vw, 64px) 0;
    background: var(--mm-paper-2);
}

.mm-property-gallery {
    display: grid;
    grid-template-columns: 1.35fr .65fr .65fr;
    grid-template-rows: repeat(2, minmax(210px, 280px));
    gap: 10px;
}

.mm-gallery-item {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 8px;
    background: #d5cbbb;
    cursor: pointer;
}

.mm-gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-gallery-item-1 {
    grid-row: span 2;
}

.mm-main-play-cue {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 12px;
    background: rgba(255, 255, 255, .92);
    border-radius: 999px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .18);
}

.mm-main-play-cue svg {
    width: 26px;
    height: 26px;
}

.mm-video-preview-tile,
.mm-map-tile {
    color: var(--mm-white);
}

.mm-video-preview-tile::after,
.mm-map-tile::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, rgba(8, 10, 8, .08), rgba(8, 10, 8, .62));
}

/* Видео-плитка: вместо чёрного квадрата — полупрозрачная заливка по всему фото,
 * фото остаётся видимым, иконка и подпись лежат прямо на нём. (2026-05-26) */
.mm-video-preview-tile::after {
    background: linear-gradient(180deg, rgba(10, 13, 10, .46), rgba(10, 13, 10, .66));
    transition: background .2s ease;
}

.mm-video-preview-tile:hover::after,
.mm-video-preview-tile:focus-visible::after {
    background: linear-gradient(180deg, rgba(10, 13, 10, .34), rgba(10, 13, 10, .56));
}

.mm-video-preview-tile > span,
.mm-map-tile > span {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    place-content: center;
    gap: 8px;
    padding: 24px;
    text-align: center;
}

/* Подпись/иконка лежат прямо на фото, без тёмной плашки. */
.mm-video-preview-tile > span {
    gap: 12px;
    padding: 24px;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
}

.mm-video-preview-tile svg {
    justify-self: center;
    width: 56px;
    height: 56px;
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, .45));
    transition: transform .2s ease;
}

.mm-video-preview-tile:hover svg,
.mm-video-preview-tile:focus-visible svg {
    transform: scale(1.06);
}

.mm-video-preview-tile strong,
.mm-map-tile strong {
    display: block;
    font-size: 22px;
    line-height: 1.08;
}

.mm-video-preview-tile strong {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .03em;
    line-height: 1.2;
    color: rgba(255, 255, 255, .9);
    text-shadow: 0 2px 12px rgba(0, 0, 0, .6);
}

.mm-video-preview-tile .mm-video-channel {
    display: block;
    margin-top: 1px;
    font-style: normal;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.12;
    color: #fff;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .6);
}

.mm-map-tile iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    pointer-events: none;
}

.mm-map-tile em {
    display: -webkit-box;
    max-width: 260px;
    overflow: hidden;
    color: rgba(255, 255, 255, .82);
    font-size: 12px;
    font-style: normal;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.mm-gallery-more {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    gap: 5px;
    padding: 18px;
    background: linear-gradient(180deg, rgba(10, 13, 10, .12), rgba(10, 13, 10, .72));
    color: var(--mm-white);
    text-align: center;
}

.mm-gallery-more strong {
    font-size: 32px;
    line-height: 1;
}

.mm-gallery-more em {
    font-size: 13px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-preview-body.mm-gallery-open {
    overflow: hidden;
}

.mm-preview-body.mm-video-open {
    overflow: hidden;
}

.mm-gallery-modal,
.mm-video-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: none;
    padding: 24px;
}

.mm-gallery-modal.is-open,
.mm-video-modal.is-open {
    display: grid;
    place-items: center;
}

.mm-gallery-backdrop,
.mm-video-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(11, 16, 12, .88);
}

.mm-gallery-dialog,
.mm-video-dialog {
    position: relative;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 64px;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    width: min(1180px, 100%);
    max-height: calc(100vh - 48px);
    padding: 18px;
    background: rgba(247, 243, 236, .96);
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 10px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .34);
}

.mm-video-dialog {
    display: block;
    width: min(1040px, 100%);
}

.mm-video-dialog .mm-video-frame {
    width: 100%;
}

.mm-gallery-stage {
    display: grid;
    place-items: center;
    min-height: min(72vh, 720px);
    margin: 0;
    background: #10140f;
    border-radius: 8px;
    overflow: hidden;
}

.mm-gallery-slide {
    display: none;
    width: 100%;
    max-height: calc(100vh - 156px);
    object-fit: contain;
}

.mm-gallery-slide.is-active {
    display: block;
}

.mm-gallery-close,
.mm-gallery-nav {
    border: 1px solid var(--mm-line);
    background: var(--mm-white);
    color: var(--mm-ink);
    cursor: pointer;
}

.mm-gallery-close {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-gallery-nav {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 999px;
    font-size: 40px;
    line-height: 1;
}

.mm-gallery-prev {
    grid-column: 1;
}

.mm-gallery-next {
    grid-column: 3;
}

.mm-gallery-counter {
    grid-column: 2;
    justify-self: center;
    color: var(--mm-muted);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-property-title {
    display: grid;
    /* Левая колонка (заголовок) ограничена, чтобы карточка цены не «улетала»
     * к правому краю на широких экранах и не возникал огромный зазор. */
    grid-template-columns: minmax(320px, 900px) minmax(340px, 440px);
    justify-content: start;
    gap: 16px clamp(28px, 4vw, 64px);
    align-items: end;
    padding: 34px 0 40px;
}

.mm-property-title .mm-eyebrow {
    grid-column: 1;
    margin-bottom: -8px;
}

.mm-property-id {
    grid-column: 2;
    justify-self: end;
    align-self: start;
    color: var(--mm-muted);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-property-title h1 {
    margin-bottom: 0;
    max-width: 980px;
    font-size: clamp(36px, 5vw, 68px);
    line-height: 1;
}

.mm-property-price {
    display: grid;
    gap: 12px;
    justify-items: end;
    grid-column: 2;
    grid-row: 2;
    font-size: clamp(32px, 4vw, 52px);
}

.mm-price-wrap {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.mm-price-value {
    white-space: nowrap;
}

.mm-currency-switcher {
    align-self: center;
}

.mm-currency-switcher .nlp-curr-btn {
    min-height: 24px;
    padding: 0 7px;
    border-color: var(--mm-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .68);
    color: var(--mm-muted);
    font-family: var(--mm-sans);
    font-size: 10px;
    line-height: 1;
}

.mm-currency-switcher .nlp-curr-btn.is-active {
    background: var(--mm-olive);
    border-color: var(--mm-olive);
    color: var(--mm-white);
}

.mm-price-contact-row {
    justify-content: flex-end;
    gap: 7px;
}

.mm-price-contact-row .mm-social-icon {
    width: 34px;
    height: 34px;
}

.mm-price-contact-row .mm-social-icon svg,
.mm-price-contact-row .mm-social-icon img {
    width: 20px;
    height: 20px;
}

.mm-property-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: clamp(32px, 6vw, 78px);
}

.mm-property-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
    margin-bottom: 38px;
}

.mm-property-facts div {
    min-height: 92px;
    padding: 20px;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-fact-icon {
    display: block;
    margin-bottom: 10px;
    color: var(--mm-gold);
}

.mm-fact-icon svg,
.mm-fact-icon i {
    display: block;
    width: 25px;
    height: 25px;
    font-size: 25px;
}

.mm-property-facts strong {
    display: block;
    font-family: var(--mm-serif);
    font-size: 28px;
    font-weight: 400;
}

.mm-property-facts span {
    display: block;
    margin-top: 6px;
    color: var(--mm-muted);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-content-block,
.mm-dossier-grid,
.mm-similar {
    margin-top: 34px;
}

.mm-highlights-block,
.mm-video-section,
.mm-map-block {
    padding: 24px;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-highlight-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mm-video-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
}

.mm-video-section-embed {
    grid-template-columns: minmax(260px, .72fr) minmax(360px, 1.28fr);
}

.mm-video-copy {
    display: grid;
    gap: 14px;
    align-content: center;
}

.mm-video-copy .mm-button {
    justify-self: start;
}

.mm-video-frame {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #10140f;
    border-radius: 8px;
}

.mm-video-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.mm-video-link-card {
    display: grid;
    place-items: center;
    gap: 10px;
    min-height: 240px;
    background: #10140f;
    border-radius: 8px;
    color: var(--mm-white);
    font-weight: 800;
    text-align: center;
}

.mm-video-link-card svg {
    width: 60px;
    height: 60px;
}

.mm-map-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.mm-map-head h2 {
    margin-bottom: 8px;
    font-size: 34px;
    line-height: 1;
}

.mm-map-head p:last-child {
    margin-bottom: 0;
    color: var(--mm-muted);
}

.mm-map-frame {
    aspect-ratio: 16 / 7;
    overflow: hidden;
    background: #d5cbbb;
    border-radius: 8px;
}

.mm-map-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.mm-video-section h2 {
    margin-bottom: 8px;
    font-size: 34px;
    line-height: 1;
}

.mm-video-section p:last-child {
    margin-bottom: 0;
    color: var(--mm-muted);
}

.mm-property-content {
    max-width: 900px;
    color: var(--mm-muted);
    font-size: 18px;
}

.mm-property-content p:last-child,
.mm-property-content ul:last-child {
    margin-bottom: 0;
}

.mm-dossier-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--mm-line);
}

.mm-dossier-grid div {
    min-height: 145px;
    padding: 24px;
    background: #fbfaf6;
}

.mm-dossier-grid p {
    margin: 0;
    color: var(--mm-muted);
}

.mm-property-aside {
    align-self: start;
    position: sticky;
    top: 96px;
}

.mm-property-aside h2 {
    margin-bottom: 16px;
    font-size: 34px;
    line-height: 1;
}

.mm-property-aside .mm-button {
    width: 100%;
    margin-top: 12px;
}

.mm-social-row-aside {
    margin-top: 16px;
}

.mm-aside-note {
    display: grid;
    gap: 8px;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .16);
    color: rgba(247, 243, 236, .7);
}

.mm-footer {
    display: grid;
    grid-template-columns: minmax(260px, 1.2fr) repeat(4, minmax(150px, .7fr));
    gap: 34px;
    padding: 46px clamp(18px, 4vw, 64px);
    background: var(--mm-olive);
    color: var(--mm-paper);
}

.mm-brand-footer {
    margin-bottom: 16px;
}

.mm-footer-links,
.mm-footer-contact {
    display: grid;
    gap: 10px;
    align-content: start;
}

.mm-footer h3 {
    margin: 0 0 6px;
    color: var(--mm-white);
    font-family: var(--mm-sans);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mm-footer a,
.mm-footer-contact span {
    color: rgba(247, 243, 236, .78);
}

.mm-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(32, 36, 31, .14);
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    color: var(--mm-ink);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    box-shadow: 0 8px 22px rgba(22, 29, 23, .06);
}

.mm-social-icon svg {
    display: block;
    width: 20px;
    height: 20px;
}

.mm-social-icon img {
    display: block;
    width: 22px;
    height: 22px;
    border-radius: 6px;
}

.mm-social-icon:hover {
    transform: translateY(-1px);
}

.mm-social-youtube svg {
    width: 23px;
    height: 23px;
}

.mm-social-max img {
    border-radius: 6px;
}

.mm-header-social {
    gap: 6px;
}

.mm-header-social .mm-social-icon {
    width: 34px;
    height: 34px;
}

.mm-catalog-page {
    background: var(--mm-paper-2);
}

.mm-catalog-page .mm-catalog-hero {
    align-items: center;
    padding-top: clamp(46px, 6vw, 82px);
}

.mm-catalog-page .mm-listing-hero h1 {
    max-width: 760px;
    font-size: clamp(44px, 6vw, 74px);
    line-height: .98;
}

.mm-catalog-page .mm-listing-intro {
    max-width: 760px;
    font-size: 17px;
}

.mm-catalog-page .mm-listing-controls {
    margin-top: 0;
}

.mm-listing-layout-single {
    display: block;
    padding-top: 24px;
}

.mm-results-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 20px;
}

.mm-results-head h2 {
    margin: 0;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1;
}

.mm-results-note {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    max-width: 560px;
}

.mm-results-note span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 11px;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    color: var(--mm-muted);
    font-size: 12px;
}

.mm-catalog-card-grid,
.mm-list-section .mm-card-grid,
.mm-similar .mm-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), min(100%, 420px)));
    align-items: stretch;
    justify-content: start;
}

.mm-catalog-card-grid .mm-card,
.mm-list-section .mm-card,
.mm-similar .mm-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
}

.mm-catalog-card-grid .mm-card-image,
.mm-list-section .mm-card-image,
.mm-similar .mm-card-image {
    width: 100% !important;
    height: clamp(205px, 17vw, 250px) !important;
    aspect-ratio: auto;
    flex: 0 0 auto;
}

.mm-catalog-card-grid .mm-card-body,
.mm-list-section .mm-card-body,
.mm-similar .mm-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100% !important;
    min-width: 0;
    padding: 18px;
}

.mm-catalog-card-grid .mm-card h3,
.mm-list-section .mm-card h3,
.mm-similar .mm-card h3 {
    display: block;
    width: 100%;
    min-height: 0;
    max-width: none;
    margin-bottom: 14px;
    overflow: visible;
    font-family: var(--mm-serif);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.16;
    -webkit-line-clamp: initial;
}

.mm-catalog-card-grid .mm-card-topline,
.mm-list-section .mm-card-topline,
.mm-similar .mm-card-topline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px;
}

.mm-catalog-card-grid .mm-card-topline-price-only,
.mm-list-section .mm-card-topline-price-only,
.mm-similar .mm-card-topline-price-only {
    display: grid;
    gap: 7px;
    justify-content: center;
    justify-items: center;
    margin-bottom: 14px;
    text-align: center;
}

.mm-catalog-card-grid .mm-card-topline strong,
.mm-list-section .mm-card-topline strong,
.mm-similar .mm-card-topline strong {
    font-family: var(--mm-sans);
    font-size: 20px;
    font-weight: 800;
}

.mm-catalog-card-grid .mm-card-topline .mm-price-wrap,
.mm-list-section .mm-card-topline .mm-price-wrap,
.mm-similar .mm-card-topline .mm-price-wrap {
    display: grid;
    gap: 7px;
    justify-content: center;
    justify-items: center;
}

.mm-catalog-card-grid .mm-card-topline .mm-price-value,
.mm-list-section .mm-card-topline .mm-price-value,
.mm-similar .mm-card-topline .mm-price-value {
    display: block;
}

.mm-catalog-card-grid .mm-card-topline .mm-currency-switcher,
.mm-list-section .mm-card-topline .mm-currency-switcher,
.mm-similar .mm-card-topline .mm-currency-switcher {
    display: inline-flex;
    justify-content: center;
}

.mm-catalog-card-grid .mm-fact-table,
.mm-list-section .mm-fact-table,
.mm-similar .mm-fact-table {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 12px 0;
}

.mm-catalog-card-grid .mm-fact-table span,
.mm-list-section .mm-fact-table span,
.mm-similar .mm-fact-table span {
    min-height: 56px;
}

.mm-catalog-card-grid .mm-card-highlights,
.mm-list-section .mm-card-highlights,
.mm-similar .mm-card-highlights {
    margin-top: auto;
}

.mm-catalog-card-grid .mm-card-actions,
.mm-list-section .mm-card-actions,
.mm-similar .mm-card-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 16px;
}

.mm-catalog-card-grid .mm-card-actions .mm-button,
.mm-list-section .mm-card-actions .mm-button,
.mm-similar .mm-card-actions .mm-button {
    width: 100%;
    min-height: 40px;
    padding-inline: 10px;
}

@media (max-width: 1180px) {
    .mm-nav,
    .mm-link-phone {
        display: none;
    }

    .mm-home-hero,
    .mm-listing-hero,
    .mm-listing-layout,
    .mm-property-layout,
    .mm-property-title,
    .mm-youtube-section,
    .mm-video-section,
    .mm-footer {
        grid-template-columns: 1fr;
    }

    .mm-card-grid,
    .mm-segment-grid,
    .mm-process-grid,
    .mm-dossier-grid,
    .mm-filter-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-sidebar,
    .mm-property-aside {
        position: static;
    }

    .mm-property-price {
        grid-column: auto;
        grid-row: auto;
        justify-items: start;
    }

    .mm-property-id {
        grid-column: auto;
        justify-self: start;
    }

    .mm-map-head {
        align-items: start;
        flex-direction: column;
    }

    .mm-results-head {
        align-items: start;
        flex-direction: column;
    }

    .mm-results-note {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .mm-header {
        flex-wrap: wrap;
        gap: 8px;
        min-height: 68px;
        padding-block: 10px;
        padding-inline: 16px;
    }

    .mm-brand {
        min-width: 0;
    }

    .mm-brand strong {
        font-size: 20px;
    }

    .mm-header-actions {
        flex: 0 0 100%;
        justify-content: flex-start;
        min-width: 0;
        margin-left: 0;
        gap: 0;
    }

    .mm-header-social {
        flex-wrap: nowrap;
        gap: 4px;
    }

    .mm-header-social .mm-social-icon {
        width: 30px;
        height: 30px;
    }

    .mm-header-social .mm-social-icon svg {
        width: 18px;
        height: 18px;
    }

    .mm-header-social .mm-social-icon img {
        width: 20px;
        height: 20px;
    }

    .mm-brand small,
    .mm-header-actions .mm-button {
        display: none;
    }

    .mm-home-hero,
    .mm-segment-section,
    .mm-list-section,
    .mm-process-section,
    .mm-listing-hero,
    .mm-listing-controls,
    .mm-listing-layout,
    .mm-property-layout,
    .mm-property-hero,
    .mm-youtube-section {
        padding-inline: 16px;
    }

    .mm-home-hero {
        grid-template-columns: 1fr;
        min-height: 640px;
    }

    .mm-hero-copy h1,
    .mm-listing-hero h1 {
        font-size: 44px;
    }

    .mm-card-grid,
    .mm-segment-grid,
    .mm-process-grid,
    .mm-dossier-grid,
    .mm-property-facts,
    .mm-filter-grid,
    .mm-video-section {
        grid-template-columns: 1fr;
    }

    .mm-fact-table {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-listing-toolbar,
    .mm-card-topline {
        align-items: stretch;
        flex-direction: column;
    }

    .mm-card-actions .mm-button,
    .mm-filter-actions .mm-button {
        flex: 1 1 150px;
    }

    .mm-card-image {
        height: 220px;
    }

    .mm-catalog-page .mm-listing-hero h1 {
        font-size: 42px;
    }

    .mm-catalog-card-grid .mm-card-actions,
    .mm-list-section .mm-card-actions,
    .mm-similar .mm-card-actions {
        grid-template-columns: 1fr;
    }

    .mm-property-gallery {
        display: flex;
        grid-template-columns: none;
        grid-template-rows: none;
        gap: 10px;
        margin-inline: -16px;
        padding-inline: 16px;
        padding-bottom: 8px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .mm-gallery-item {
        flex: 0 0 88%;
        min-height: 230px;
        aspect-ratio: 4 / 3;
        scroll-snap-align: start;
    }

    .mm-gallery-item-1 {
        grid-row: auto;
    }

    .mm-gallery-modal {
        padding: 12px;
    }

    .mm-video-modal {
        padding: 12px;
    }

    .mm-gallery-dialog {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        gap: 8px;
        max-height: 100dvh;
        padding: 8px;
        width: 100%;
    }

    .mm-video-dialog {
        grid-template-columns: 1fr;
        max-height: calc(100dvh - 24px);
    }

    /* Фото — главное: на всю ширину, без чёрных полей, стрелки поверх фото. */
    .mm-gallery-stage {
        min-height: 0;
        grid-column: 1;
        width: 100%;
    }

    .mm-gallery-slide {
        width: 100%;
        height: auto;
        max-height: calc(100dvh - 108px);
        object-fit: contain;
    }

    .mm-gallery-nav {
        position: absolute;
        top: 44%;
        transform: translateY(-50%);
        z-index: 3;
        background: rgba(255, 255, 255, .92);
        box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
    }

    .mm-gallery-prev { grid-column: auto; left: 8px; }
    .mm-gallery-next { grid-column: auto; right: 8px; }
    .mm-gallery-counter { grid-column: 1; }

    .mm-gallery-close {
        top: 12px;
        right: 12px;
    }

    .mm-gallery-nav {
        width: 40px;
        height: 40px;
        font-size: 30px;
    }

    .mm-video-section-embed {
        grid-template-columns: 1fr;
    }

    .mm-map-frame {
        aspect-ratio: 4 / 3;
    }

    .mm-video-preview-tile strong,
    .mm-map-tile strong {
        font-size: 18px;
    }
}

@keyframes mm-discuss-kick {
    0% { transform: translateY(0) scale(1); }
    28% { transform: translateY(-2px) rotate(-.6deg) scale(1.012); }
    58% { transform: translateY(1px) rotate(.5deg) scale(.998); }
    100% { transform: translateY(0) rotate(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .mm-card-photo-main,
    .mm-card-photo-alt,
    .mm-card-discuss-button {
        transition: none;
    }

    .mm-card-discuss-button:hover,
    .mm-card-discuss-button:focus-visible {
        animation: none;
    }
}

/* Compact listing cards and contact modal */
.mm-catalog-card-grid .mm-card-image,
.mm-list-section .mm-card-image,
.mm-similar .mm-card-image {
    height: clamp(215px, 17vw, 265px) !important;
}

.mm-catalog-card-grid .mm-card-body,
.mm-list-section .mm-card-body,
.mm-similar .mm-card-body {
    padding: 11px 18px 16px;
}

.mm-catalog-card-grid .mm-card h3,
.mm-list-section .mm-card h3,
.mm-similar .mm-card h3 {
    display: -webkit-box;
    min-height: 50px;
    margin-bottom: 12px;
    overflow: hidden;
    line-height: 1.2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.mm-catalog-card-grid .mm-card-topline-price-only,
.mm-list-section .mm-card-topline-price-only,
.mm-similar .mm-card-topline-price-only {
    align-items: flex-start;
    grid-template-columns: auto minmax(0, 1fr);
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 9px;
}

.mm-catalog-card-grid .mm-card-topline .mm-price-wrap,
.mm-list-section .mm-card-topline .mm-price-wrap,
.mm-similar .mm-card-topline .mm-price-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    justify-content: flex-end;
}

.mm-catalog-card-grid .mm-card-topline .mm-currency-switcher,
.mm-list-section .mm-card-topline .mm-currency-switcher,
.mm-similar .mm-card-topline .mm-currency-switcher {
    order: 1;
    justify-content: flex-start;
}

.mm-catalog-card-grid .mm-card-topline .mm-price-value,
.mm-list-section .mm-card-topline .mm-price-value,
.mm-similar .mm-card-topline .mm-price-value {
    order: 2;
    margin-left: auto;
    text-align: right;
}

.mm-card-price {
    display: block;
    min-width: 0;
    margin-left: auto;
    text-align: right;
}

.mm-card-price .mm-price-wrap {
    display: grid !important;
    max-width: 100%;
    min-width: 0;
    gap: 5px;
    justify-items: end;
}

.mm-card-topline .mm-card-price {
    font-family: var(--mm-sans);
    font-weight: 900;
}

.mm-card-price .mm-price-value {
    order: 1;
    color: var(--mm-ink);
    font-size: 19px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.1;
    min-width: 0;
}

.mm-card-price .mm-currency-switcher {
    order: 2;
}

.mm-card-id {
    display: inline-flex;
    flex: 0 0 auto;
    color: var(--mm-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.2;
    text-align: left;
    text-transform: uppercase;
}

.mm-catalog-card-grid .mm-fact-table,
.mm-list-section .mm-fact-table,
.mm-similar .mm-fact-table {
    display: grid;
    /* Было repeat(4, …): у объектов без участка/парковки четвёртая колонка
       оставалась пустой серой ячейкой. auto-fit растягивает то, что есть. */
    grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
    gap: 1px;
    margin: 10px 0 9px;
    background: var(--mm-line);
    border: 1px solid var(--mm-line);
    border-radius: 6px;
    overflow: hidden;
}

.mm-catalog-card-grid .mm-fact-table span,
.mm-list-section .mm-fact-table span,
.mm-similar .mm-fact-table span {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 62px;
    gap: 3px;
    padding: 9px 4px;
    background: var(--mm-surface);
    border-radius: 0;
    text-align: center;
}

.mm-fact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--mm-muted);
}

.mm-fact-icon svg {
    display: block;
    width: 17px;
    height: 17px;
}

.mm-catalog-card-grid .mm-fact-table strong,
.mm-list-section .mm-fact-table strong,
.mm-similar .mm-fact-table strong {
    min-width: 0;
    overflow: visible;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    text-overflow: clip;
}

.mm-catalog-card-grid .mm-fact-table em,
.mm-list-section .mm-fact-table em,
.mm-similar .mm-fact-table em {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    color: var(--mm-muted);
    font-size: 10px;
    font-style: normal;
    letter-spacing: .03em;
    line-height: 1.1;
}

.mm-card-highlights-compact {
    gap: 0;
    margin: 8px 0 9px;
    padding: 0;
    background: transparent;
}

.mm-card-highlights-compact b {
    display: none;
}

.mm-card-highlights-compact div {
    gap: 6px;
}

.mm-card-highlights-compact span {
    min-width: 29px;
    height: 29px;
    min-height: 29px;
    justify-content: center;
    padding: 0 8px;
    background: rgba(255, 255, 255, .72);
    border-radius: 999px;
}

.mm-card-highlights-compact span i,
.mm-card-highlights-compact span img {
    width: 15px;
    height: 15px;
}

.mm-card-highlights-compact .mm-feature-display-icon {
    width: 29px;
    padding: 0;
}

.mm-card-highlights-compact .mm-feature-display-icon em {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.mm-card-highlights-compact .mm-feature-display-text em {
    max-width: 126px;
    overflow: hidden;
    color: var(--mm-ink);
    font-size: 12px;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mm-card-highlights-compact .mm-feature-more {
    width: auto;
    min-width: 29px;
    padding: 0 9px;
    color: var(--mm-muted);
    font-weight: 800;
}

.mm-card-meta {
    gap: 6px;
}

.mm-card-meta span + span::before {
    margin-right: 6px;
    color: rgba(109, 113, 105, .55);
    content: "/";
}

.mm-card-action-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
    align-items: stretch;
    margin-top: 13px;
}

.mm-card-discuss-button {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin-top: 0;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.mm-card-discuss-button::after {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: currentColor;
    content: "";
    opacity: .8;
}

.mm-card-discuss-button:hover,
.mm-card-discuss-button:focus-visible {
    animation: mm-discuss-kick .52s ease both;
    box-shadow: 0 10px 22px rgba(15, 24, 19, .16);
}

.mm-discuss-icons {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.mm-discuss-icons svg,
.mm-discuss-icons img {
    display: block;
    width: 17px;
    height: 17px;
    opacity: .92;
    filter: grayscale(1) brightness(0) invert(1);
}

.mm-discuss-icons img {
    border-radius: 4px;
}

.mm-card-inline-tools {
    display: flex;
    gap: 7px;
    min-width: 0;
}

.mm-inline-tool-button {
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 999px;
    background: #fff;
    border-color: var(--mm-line);
    box-shadow: none;
}

.mm-inline-tool-button span {
    color: var(--mm-olive);
    font-size: 18px;
    transition: color .18s ease;
}

/* Active / pressed state: parent button has olive background — the icon span
   must follow the parent's color (white) or it disappears into the bg. */
.mm-tool-button.is-active span,
.mm-tool-button[aria-pressed="true"] span {
    color: var(--mm-white);
}

.mm-inline-tool-button em {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.mm-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

.mm-contact-modal {
    position: fixed;
    inset: 0;
    z-index: 3200;
    display: none;
    padding: 18px;
}

.mm-contact-modal.is-open {
    display: grid;
    place-items: center;
}

.mm-contact-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(11, 16, 12, .72);
    backdrop-filter: blur(8px);
}

.mm-contact-dialog {
    position: relative;
    width: min(520px, 100%);
    max-height: calc(100dvh - 32px);
    overflow: auto;
    padding: clamp(16px, 2.6vw, 22px);
    background: #fbfaf6;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 10px;
    box-shadow: 0 32px 90px rgba(0, 0, 0, .32);
}

.mm-contact-close {
    position: absolute;
    top: 14px;
    right: 14px;
    min-height: 30px;
    padding: 0 9px;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    background: #fff;
    color: var(--mm-muted);
    cursor: pointer;
    font: 800 11px/1 var(--mm-sans);
    text-transform: uppercase;
}

.mm-contact-head {
    max-width: 390px;
    padding-right: 62px;
}

.mm-contact-head h2 {
    margin-bottom: 6px;
    font-size: clamp(27px, 3.6vw, 36px);
    line-height: 1.02;
}

.mm-contact-head p:not(.mm-eyebrow) {
    color: var(--mm-muted);
    font-size: 15px;
    line-height: 1.45;
}

.mm-contact-messengers {
    display: grid;
    gap: 7px;
    margin: 14px 0;
}

.mm-contact-messengers > span,
.mm-contact-form > p {
    color: var(--mm-muted);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-contact-messengers > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.mm-contact-channel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 10px;
    background: #fff;
    border: 1px solid var(--mm-line);
    border-radius: 7px;
    font: 800 13px/1 var(--mm-sans);
}

.mm-contact-channel svg,
.mm-contact-channel img {
    width: 18px;
    height: 18px;
    filter: grayscale(1) brightness(.45);
}

.mm-contact-channel img {
    border-radius: 5px;
}

.mm-contact-form {
    display: grid;
    gap: 7px;
    padding: 12px;
    background: var(--mm-paper);
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-contact-form label {
    display: grid;
    gap: 0;
}

.mm-contact-form label > span {
    color: var(--mm-muted);
    font-size: 12px;
}

.mm-contact-input-wrap {
    position: relative;
    display: block;
}

.mm-contact-input-icon {
    position: absolute;
    top: 50%;
    left: 10px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: var(--mm-muted);
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
    pointer-events: none;
}

.mm-contact-form input:not([type="checkbox"]):not([type="radio"]),
.mm-contact-form textarea {
    width: 100%;
    min-height: 36px;
    padding: 7px 10px;
    background: #fff;
    border: 1px solid var(--mm-line);
    border-radius: 6px;
    color: var(--mm-ink);
    font: 15px/1.35 var(--mm-sans);
}

.mm-contact-form [data-mm-contact-input] {
    padding-left: 40px !important;
}

.mm-contact-form [data-mm-contact-input].is-valid {
    border-color: rgba(42, 115, 77, .38);
}

.mm-contact-form [data-mm-contact-input].is-invalid {
    border-color: rgba(154, 44, 44, .48);
}

.mm-contact-field-hint {
    margin-top: 5px;
    color: var(--mm-muted);
    font-size: 11px !important;
    line-height: 1.3;
}

.mm-contact-form textarea {
    min-height: 64px;
    resize: vertical;
}

.mm-contact-preference {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    color: var(--mm-muted);
    font-size: 12px;
}

.mm-contact-preference[hidden] {
    display: none;
}

.mm-contact-preference > span {
    flex: 0 0 100%;
    font-weight: 800;
}

.mm-contact-preference label {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 9px;
    background: #fff;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    color: var(--mm-ink);
    font-size: 12px;
}

.mm-contact-preference input {
    margin-right: 5px;
    accent-color: var(--mm-olive);
}

.mm-contact-agree {
    display: flex !important;
    grid-template-columns: none;
    align-items: flex-start;
    gap: 9px !important;
    color: var(--mm-muted);
    font-size: 12px;
    line-height: 1.35;
}

.mm-contact-agree input {
    width: 16px;
    height: 16px;
    margin-top: 1px;
    accent-color: var(--mm-olive);
}

.mm-contact-agree a {
    color: var(--mm-gold);
    font-weight: 800;
}

.mm-contact-detail-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
    color: var(--mm-muted);
}

.mm-contact-detail-note p {
    margin: 0;
    font-size: 13px;
}

@media (max-width: 760px) {
    .mm-catalog-card-grid,
    .mm-list-section .mm-card-grid,
    .mm-similar .mm-card-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        width: calc(100% - 16px) !important;
        max-width: calc(100% - 16px) !important;
        margin-right: auto;
    }

    .mm-catalog-card-grid .mm-card,
    .mm-list-section .mm-card,
    .mm-similar .mm-card {
        max-width: 100%;
    }

    .mm-catalog-card-grid .mm-card-image,
    .mm-list-section .mm-card-image,
    .mm-similar .mm-card-image {
        height: 218px !important;
    }

    .mm-catalog-card-grid .mm-card-body,
    .mm-list-section .mm-card-body,
    .mm-similar .mm-card-body {
        padding: 10px 16px 14px;
    }

    .mm-catalog-card-grid .mm-card-topline .mm-price-wrap,
    .mm-list-section .mm-card-topline .mm-price-wrap,
    .mm-similar .mm-card-topline .mm-price-wrap {
        flex-wrap: nowrap;
    }

    .mm-catalog-card-grid .mm-card-topline strong,
    .mm-list-section .mm-card-topline strong,
    .mm-similar .mm-card-topline strong {
        font-size: 18px;
    }

    .mm-card-price .mm-price-value {
        order: 1;
        font-size: 18px;
    }

    .mm-card-price .mm-price-wrap {
        display: grid;
        gap: 5px;
        justify-items: end;
    }

    .mm-card-price .mm-currency-switcher {
        order: 2;
    }

    .mm-card-price .mm-currency-switcher .nlp-curr-btn {
        min-height: 22px;
        padding-inline: 6px;
    }

    .mm-catalog-card-grid .mm-card h3,
    .mm-list-section .mm-card h3,
    .mm-similar .mm-card h3 {
        min-height: 45px;
        font-size: 19px;
        line-height: 1.18;
    }

    .mm-catalog-card-grid .mm-fact-table,
    .mm-list-section .mm-fact-table,
    .mm-similar .mm-fact-table {
        display: flex;
    }

    .mm-catalog-card-grid .mm-fact-table span,
    .mm-list-section .mm-fact-table span,
    .mm-similar .mm-fact-table span {
        min-height: 30px;
        gap: 4px;
        padding-inline: 8px;
    }

    .mm-catalog-card-grid .mm-fact-table strong,
    .mm-list-section .mm-fact-table strong,
    .mm-similar .mm-fact-table strong {
        font-size: 14px;
    }

    .mm-catalog-card-grid .mm-fact-table .mm-fact-icon svg,
    .mm-list-section .mm-fact-table .mm-fact-icon svg,
    .mm-similar .mm-fact-table .mm-fact-icon svg {
        width: 15px;
        height: 15px;
    }

    .mm-catalog-card-grid .mm-fact-table em,
    .mm-list-section .mm-fact-table em,
    .mm-similar .mm-fact-table em {
        display: none;
    }

    .mm-card-highlights-compact b {
        display: none;
    }

    .mm-card-highlights-compact {
        padding: 0;
    }

    .mm-card-meta span {
        font-size: 12px;
    }

    .mm-card-action-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 6px;
        margin-top: 11px;
    }

    .mm-card-discuss-button {
        min-height: 42px;
        padding-inline: 10px;
    }

    .mm-inline-tool-button {
        width: 37px;
        height: 42px;
        min-height: 42px;
    }

    .mm-contact-modal {
        padding: 8px;
    }

    .mm-contact-dialog {
        max-height: calc(100dvh - 16px);
        padding: 12px;
    }

    .mm-contact-head {
        max-width: none;
        padding-right: 74px;
    }

    .mm-contact-head h2 {
        font-size: 25px;
        line-height: 1.04;
    }

    .mm-contact-head p:not(.mm-eyebrow) {
        font-size: 13px;
        line-height: 1.35;
    }

    .mm-contact-messengers > div {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .mm-contact-channel {
        min-height: 36px;
        padding: 0 6px;
        gap: 5px;
        font-size: 11px;
    }

    .mm-contact-channel svg,
    .mm-contact-channel img {
        width: 16px;
        height: 16px;
    }

    .mm-contact-form {
        padding: 10px;
    }

    .mm-contact-form > p {
        font-size: 12px;
    }

    .mm-contact-form input:not([type="checkbox"]):not([type="radio"]),
    .mm-contact-form textarea {
        min-height: 34px;
        font-size: 14px;
    }

    .mm-contact-detail-note {
        align-items: center;
        flex-direction: row;
    }

    .mm-contact-detail-note .mm-button {
        width: auto;
    }
}

/* =========================================================================

/* =========================================================================

/* =========================================================================

/* =========================================================================

/* =========================================================================

/* =========================================================================

/* =========================================================================
 * MontMari preview — мобильные оптимизации (2026-05-01)
 *
 * Решает 8 проблем по списку:
 *  1. Иконки в шапке справа от логотипа в одну строку
 *  2. Хлебные крошки — горизонтальный scroll, последний пункт скрыт
 *  3. Локация и ID объекта рядом
 *  4. Иконки фактов в горизонтальном layout, 2 колонки
 *  5. ID в фактах не показывается (он у цены)
 *  6. Уменьшен padding/gap у блоков (компактнее)
 *  7. Footer 2 колонки на мобиле
 *  8. CTA-кнопка "Обсудить покупку" / "Арендовать" + бургер-меню
 * ===================================================================== */

/* Бургер всегда скрыт на десктопе */
.mm-burger {
    display: none;
}

.mm-mobile-drawer,
.mm-mobile-backdrop {
    display: none;
}

/* На десктопе primary-row "прозрачный" — его дети (brand, burger, mobile social)
 * ведут себя как прямые дети .mm-header. Сохраняет старый flex-layout header'а. */
.mm-header-row-primary {
    display: contents;
}

/* Social desktop виден всегда; mobile-копия скрыта по умолчанию */
.mm-header-social-mobile {
    display: none !important;
}

.mm-header-social-desktop {
    display: inline-flex;
}

/* CTA-кнопка возле цены (видна везде) */
.mm-button-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 26px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 4px;
    text-decoration: none;
    line-height: 1.2;
    white-space: nowrap;
    transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}

.mm-button-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .26);
}

/* Тёмная серьёзная кнопка — основной CTA */
.mm-button-cta-dark {
    background: #111;
    color: #fff;
    border: 1px solid #111;
}

.mm-button-cta-dark:hover {
    background: #1a1a1a;
    color: #fff;
}

.mm-button-cta-dark:visited {
    color: #fff;
}

/* Currency switcher — отдельная панель над ценой */
.mm-price-currency-bar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 6px;
}

.mm-price-currency-bar .nlp-currency-switcher,
.mm-price-currency-bar .mm-currency-switcher {
    display: inline-flex;
    gap: 4px;
}

/* Скрываем switcher внутри price-wrap (на случай если рендер где-то ещё его выводит) */
.mm-price-wrap-hero .nlp-currency-switcher,
.mm-price-wrap-hero .mm-currency-switcher {
    display: none;
}

/* Цена и кнопка теперь — два отдельных блока внутри .mm-property-price:
 *  .mm-property-price-stack (switcher + цена)  ─ верхний блок
 *  .mm-property-cta-wrap    (CTA)              ─ нижний блок, отделён границей
 */
.mm-property-price {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

.mm-property-price-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mm-property-cta-wrap {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid rgba(0, 0, 0, .08);
    display: flex;
}

/* На десктопе блок цены + кнопка центрируется ВЕРТИКАЛЬНО относительно H1
 * (через align-self: center в grid-row) и ВНУТРИ себя — по горизонтали.
 * Раньше было align-items: end (прижато к низу H1) — выглядело криво при
 * многострочном заголовке. */
@media (min-width: 761px) {
    .mm-property-price {
        align-self: center; /* центр по высоте H1 в grid */
        align-items: center; /* горизонтальный центр внутри блока (flex column) */
    }

    .mm-property-price-stack {
        align-items: center;
        text-align: center;
    }

    .mm-property-cta-wrap {
        justify-content: center;
        align-self: center;
        min-width: 320px;
    }

    .mm-button-cta-dark {
        min-width: 280px;
    }
}

/* mm-property-meta-row — обёртка добавлена ради мобильной раскладки.
 * На десктопе делаем её "прозрачной" через display: contents, чтобы eyebrow
 * и ID вели себя как прямые дети .mm-property-title и попадали в свои
 * grid-column'ы (eyebrow → col 1, ID → col 2). Иначе блок съезжает влево
 * и не выравнивается с заголовком справа.
 * На мобиле в media query ниже эта обёртка снова становится flex. */
.mm-property-meta-row {
    display: contents;
}

.mm-property-meta-row .mm-eyebrow {
    margin: 0;
}

.mm-property-meta-row .mm-property-id {
    margin: 0;
}

/* ================== Mobile (≤760) ================== */
@media (max-width: 760px) {

    /* === 1. HEADER: brand слева, иконки справа в ОДНУ строку === */
    .mm-header {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 0;
        padding: 10px 14px;
        min-height: auto;
    }

    /* На мобиле primary-row становится настоящим flex-контейнером (отменяем contents) */
    .mm-header-row-primary {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        width: 100%;
    }

    .mm-header-social-mobile {
        display: inline-flex !important;
    }

    .mm-header-social-desktop {
        display: none;
    }

    .mm-header .mm-brand {
        flex: 0 1 auto;
        min-width: 0;
        gap: 8px;
    }

    .mm-header .mm-brand .mm-brand-text {
        display: flex;
        flex-direction: column;
        line-height: 1.1;
    }

    .mm-header .mm-brand strong {
        font-size: 16px;
    }

    .mm-header .mm-brand small {
        font-size: 10px;
        display: block;
    }

    .mm-header .mm-header-social {
        flex: 0 0 auto;
        display: flex;
        gap: 6px;
        margin-left: auto;
    }

    .mm-header .mm-header-social .mm-social-icon {
        width: 30px;
        height: 30px;
    }

    .mm-header .mm-header-social .mm-social-icon svg,
    .mm-header .mm-header-social .mm-social-icon img {
        width: 18px;
        height: 18px;
    }

    /* Burger - справа от соц-иконок */
    .mm-burger {
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        gap: 4px;
        width: 36px;
        height: 36px;
        padding: 8px;
        background: transparent;
        border: 1px solid #d6d6d6;
        border-radius: 8px;
        cursor: pointer;
        flex: 0 0 auto;
    }

    .mm-burger span {
        display: block;
        width: 100%;
        height: 2px;
        background: #1a1a1a;
        border-radius: 2px;
        transition: transform .2s ease;
    }

    /* Скрываем nav и phone+CTA — они в drawer */
    .mm-header .mm-nav,
    .mm-header .mm-header-actions {
        display: none;
    }

    /* === MOBILE DRAWER === */
    .mm-mobile-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, .45);
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
        z-index: 998;
    }

    .mm-mobile-backdrop.is-open {
        opacity: 1;
        pointer-events: auto;
    }

    .mm-mobile-drawer {
        display: flex;
        flex-direction: column;
        gap: 4px;
        position: fixed;
        top: 0;
        right: 0;
        width: 80%;
        max-width: 320px;
        height: 100vh;
        padding: 24px 18px;
        background: #fff;
        box-shadow: -8px 0 28px rgba(0, 0, 0, .18);
        transform: translateX(100%);
        transition: transform .25s ease;
        overflow-y: auto;
        z-index: 999;
    }

    .mm-mobile-drawer.is-open {
        transform: translateX(0);
    }

    .mm-drawer-link {
        display: block;
        padding: 12px 4px;
        font-size: 17px;
        color: #1a1a1a;
        text-decoration: none;
        border-bottom: 1px solid #eee;
    }

    .mm-drawer-link-cta {
        margin-top: 8px;
        font-weight: 600;
    }

    .mm-drawer-cta {
        margin-top: 12px;
        justify-content: center;
        gap: 10px;
        width: 100%;
    }

    body.mm-drawer-open {
        overflow: hidden;
    }

    /* === 2. BREADCRUMBS — горизонтальный scroll, последний пункт скрыт === */
    .mm-breadcrumbs {
        margin-inline: -16px;
        padding-inline: 16px;
        padding-block: 8px 12px;
    }

    .mm-breadcrumbs ol {
        display: flex;
        flex-wrap: nowrap;
        white-space: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 0;
    }

    .mm-breadcrumbs ol::-webkit-scrollbar {
        display: none;
    }

    .mm-breadcrumbs li {
        flex: 0 0 auto;
    }

    /* Скрываем последний пункт (название объекта) — оставляем только категории */
    .mm-breadcrumbs li:last-child {
        display: none;
    }

    /* === 3. PROPERTY TITLE: meta-row уже flex, но усилим === */
    .mm-property-meta-row {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .mm-property-meta-row .mm-eyebrow {
        font-size: 12px;
        flex: 1 1 auto;
    }

    .mm-property-meta-row .mm-property-id {
        font-size: 11px;
        padding: 4px 10px;
        flex: 0 0 auto;
        margin: 0;
        background: #f4f1ea;
        border-radius: 999px;
        white-space: nowrap;
    }

    .mm-property-title h1 {
        font-size: 22px;
        line-height: 1.2;
        margin: 8px 0 12px;
    }

    /* === 7. PRICE BLOCK: switcher+цена сверху, кнопка отдельно с разделителем === */
    .mm-property-price {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        padding: 18px 16px;
        background: #faf8f3;
        border-radius: 14px;
        margin-top: 12px;
    }

    .mm-property-price-stack {
        align-items: flex-start;
        text-align: left;
    }

    .mm-property-price .mm-price-wrap-hero,
    .mm-property-price .mm-price-wrap {
        font-size: 30px;
        text-align: left;
        line-height: 1;
    }

    .mm-price-currency-bar {
        justify-content: flex-start;
        margin-bottom: 0;
    }

    .mm-price-currency-bar .nlp-curr-btn {
        min-height: 26px;
        padding: 0 10px;
        font-size: 11px;
    }

    .mm-property-cta-wrap {
        margin-top: 18px;
        padding-top: 18px;
        border-top: 1px solid rgba(0, 0, 0, .08);
        justify-content: stretch;
        min-width: 0;
    }

    .mm-button-cta-dark {
        width: 100%;
        padding: 18px 16px;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.14em;
        border-radius: 10px;
        background: #1a1f1a;
        border-color: #1a1f1a;
        box-shadow: 0 6px 18px rgba(26, 31, 26, .25);
        min-width: 0;
    }

    .mm-button-cta-dark:hover,
    .mm-button-cta-dark:active {
        background: #2a2f2a;
        border-color: #2a2f2a;
        box-shadow: 0 8px 22px rgba(26, 31, 26, .32);
    }

    /* На мобиле прячем дублирующие иконки мессенджеров возле цены */
    .mm-price-contact-row-secondary {
        display: none;
    }

    /* === 4. FACTS: горизонтальные плитки [icon][value] [label], 2 в строку === */
    .mm-property-facts {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .mm-property-facts > div {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: 8px;
        padding: 10px 12px;
        background: #f6f3eb;
        border-radius: 12px;
    }

    .mm-property-facts .mm-fact-icon {
        width: 28px;
        height: 28px;
        grid-row: span 2;
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 28px;
    }

    .mm-property-facts .mm-fact-icon svg {
        width: 22px;
        height: 22px;
    }

    .mm-property-facts strong {
        font-size: 16px;
        line-height: 1;
        margin: 0;
        align-self: end;
    }

    .mm-property-facts span:not(.mm-fact-icon) {
        font-size: 11px;
        color: #6b6b6b;
        line-height: 1;
        margin: 0;
        align-self: start;
        text-transform: lowercase;
    }

    /* === 5. CONTENT BLOCKS — компактнее === */
    .mm-content-block {
        padding: 18px 16px;
        margin-block: 14px;
    }

    .mm-content-block h2 {
        font-size: 20px;
        line-height: 1.25;
    }

    .mm-content-block p {
        font-size: 15px;
        line-height: 1.5;
    }

    .mm-eyebrow {
        font-size: 11px;
    }

    /* Highlights — 2 колонки */
    .mm-highlight-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .mm-highlight-grid > span {
        padding: 8px 10px;
        font-size: 13px;
    }

    /* Map / Video разделы — компактнее */
    .mm-map-frame iframe,
    .mm-video-section iframe,
    .mm-video-frame iframe {
        aspect-ratio: 16 / 10;
    }

    .mm-video-section {
        gap: 12px;
        padding: 18px 16px;
    }

    .mm-video-copy h2,
    .mm-map-head h2 {
        font-size: 18px;
    }

    /* Dossier — 2 колонки на мобиле, плотнее */
    .mm-dossier-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .mm-dossier-grid > div {
        padding: 12px 14px;
    }

    .mm-dossier-grid span {
        font-size: 11px;
    }

    .mm-dossier-grid p {
        font-size: 13px;
        margin: 4px 0 0;
    }

    /* Aside — компактнее */
    .mm-property-aside {
        padding: 18px 16px;
        gap: 8px;
        margin-top: 16px;
    }

    .mm-property-aside h2 {
        font-size: 18px;
    }

    .mm-property-aside p {
        font-size: 14px;
    }

    /* === 6. FOOTER — 2 колонки на мобиле === */
    .mm-footer {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 18px 14px;
        padding: 28px 16px 36px;
    }

    .mm-footer-about {
        grid-column: 1 / -1; /* about block во всю ширину сверху */
        text-align: left;
    }

    .mm-footer-about p {
        font-size: 13px;
    }

    .mm-footer-links,
    .mm-footer-contact {
        gap: 6px;
    }

    .mm-footer h3 {
        font-size: 13px;
        margin-bottom: 6px;
    }

    .mm-footer a,
    .mm-footer-contact span {
        font-size: 13px;
        line-height: 1.4;
    }
}

/* Маленький размер: ультра-узко (<400) — fallback в 1 колонку для facts/highlights */
@media (max-width: 360px) {
    .mm-property-facts,
    .mm-highlight-grid,
    .mm-dossier-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================================
 * MontMari preview repair after live sync (2026-05-03)
 * ===================================================================== */

.mm-property-title {
    grid-template-columns: minmax(0, 1fr) minmax(280px, auto);
    gap: 14px clamp(28px, 5vw, 72px);
    align-items: start;
    padding: 28px 0 34px;
}

.mm-property-meta-row {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
}

.mm-property-meta-row .mm-eyebrow {
    grid-column: auto;
    min-width: 0;
    margin: 0;
}

.mm-property-meta-row .mm-property-id {
    grid-column: auto;
    justify-self: auto;
    align-self: auto;
    margin: 0;
    white-space: nowrap;
}

.mm-property-title h1 {
    grid-column: 1;
    grid-row: 2;
    max-width: 980px;
    font-size: clamp(34px, 4.2vw, 62px);
    line-height: 1.04;
}

.mm-property-price {
    display: grid !important;
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    justify-items: end;
    gap: 10px;
    padding-top: 4px;
    font-size: clamp(30px, 3.6vw, 48px);
}

.mm-property-price-stack,
.mm-property-price-stack .mm-price-wrap {
    display: inline-flex;
    justify-content: flex-end;
}

.mm-property-price-stack .mm-price-wrap {
    gap: 8px;
}

.mm-price-wrap-hero .nlp-currency-switcher,
.mm-price-wrap-hero .mm-currency-switcher {
    display: inline-flex;
}

.mm-property-cta-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
    margin-top: 4px;
    padding-top: 0;
    border-top: 0;
}

.mm-button-cta {
    min-height: 40px;
    padding: 0 16px;
    background: var(--mm-olive) !important;
    border-color: var(--mm-olive) !important;
    color: var(--mm-white) !important;
    box-shadow: none;
    letter-spacing: .06em;
}

.mm-button-cta span {
    color: inherit;
}

.mm-button-cta:hover {
    background: #18231c !important;
    color: var(--mm-white) !important;
}

@media (max-width: 760px) {
    .mm-header {
        min-height: 58px;
        padding: 8px 12px;
    }

    .mm-header-row-primary {
        gap: 6px;
    }

    .mm-header .mm-brand {
        gap: 7px;
    }

    .mm-brand-mark img {
        /* остаётся 66% от .mm-brand-mark, размер задаётся на родителе */
    }

    .mm-header .mm-brand strong {
        font-size: 16px;
    }

    .mm-header .mm-brand small {
        font-size: 9px;
        letter-spacing: .1em;
    }

    .mm-header .mm-header-social {
        gap: 4px;
    }

    .mm-header .mm-header-social .mm-social-icon {
        width: 28px;
        height: 28px;
    }

    .mm-header .mm-header-social .mm-social-icon svg,
    .mm-header .mm-header-social .mm-social-icon img {
        width: 17px;
        height: 17px;
    }

    .mm-burger {
        width: 34px;
        height: 34px;
        border-radius: 7px;
    }

    .mm-breadcrumbs {
        margin-inline: -16px;
        padding: 8px 16px 10px;
        overflow: hidden;
    }

    .mm-breadcrumbs ol {
        font-size: 12px;
    }

    .mm-property-hero {
        padding-top: 14px;
    }

    .mm-property-gallery {
        gap: 8px;
        padding-bottom: 6px;
    }

    .mm-gallery-item {
        flex-basis: 82%;
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .mm-property-title {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 18px 0 22px;
    }

    .mm-property-meta-row {
        grid-column: 1;
        gap: 10px;
    }

    .mm-property-meta-row .mm-eyebrow {
        font-size: 11px;
        line-height: 1.25;
        letter-spacing: .12em;
    }

    .mm-property-meta-row .mm-property-id {
        padding: 5px 10px;
        background: #fbfaf6;
        border: 1px solid var(--mm-line);
        border-radius: 999px;
        font-size: 11px;
        letter-spacing: .06em;
    }

    .mm-property-title h1 {
        grid-column: 1;
        grid-row: auto;
        max-width: 100%;
        margin: 4px 0 2px;
        font-size: 26px;
        line-height: 1.12;
    }

    .mm-property-price {
        grid-column: 1;
        grid-row: auto;
        justify-items: stretch;
        gap: 8px;
        margin-top: 8px;
        padding: 12px 14px;
        background: #fbfaf6;
        border: 1px solid var(--mm-line);
        border-radius: 10px;
        box-shadow: 0 14px 30px rgba(38, 32, 22, .08);
    }

    .mm-property-price-stack,
    .mm-property-price-stack .mm-price-wrap {
        justify-content: flex-start;
    }

    .mm-property-price .mm-price-wrap-hero,
    .mm-property-price .mm-price-wrap {
        font-size: 30px;
        line-height: 1.05;
        text-align: left;
    }

    .mm-currency-switcher .nlp-curr-btn {
        min-height: 24px;
        padding: 0 8px;
        font-size: 10px;
    }

    .mm-property-cta-wrap {
        justify-content: space-between;
        gap: 8px;
        flex-wrap: wrap;
        margin-top: 8px;
        padding-top: 8px;
        border-top: 1px solid var(--mm-line);
    }

    .mm-button-cta {
        flex: 1 1 160px;
        min-height: 38px;
        padding: 0 12px;
        border-radius: 7px;
        font-size: 11px;
        letter-spacing: .04em;
    }

    .mm-price-contact-row {
        display: flex;
        flex: 0 0 auto;
        justify-content: flex-end;
        gap: 6px;
    }

    .mm-price-contact-row .mm-social-whatsapp {
        display: none;
    }

    .mm-price-contact-row .mm-social-icon {
        width: 32px;
        height: 32px;
    }

    .mm-price-contact-row .mm-social-icon svg,
    .mm-price-contact-row .mm-social-icon img {
        width: 19px;
        height: 19px;
    }

    .mm-property-layout {
        gap: 16px;
        padding-top: 18px;
    }

    .mm-property-facts {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px;
        margin-bottom: 18px;
    }

    .mm-property-facts > div {
        display: grid;
        grid-template-columns: 20px minmax(0, 1fr);
        grid-template-rows: auto auto;
        gap: 3px 6px;
        min-height: 0;
        padding: 9px 8px;
        border-radius: 8px;
        background: #fbfaf6;
    }

    .mm-property-facts .mm-fact-icon {
        grid-column: 1;
        grid-row: 1;
        width: 20px;
        height: 20px;
        margin: 0;
    }

    .mm-property-facts .mm-fact-icon svg,
    .mm-property-facts .mm-fact-icon i {
        width: 18px;
        height: 18px;
        font-size: 18px;
    }

    .mm-property-facts strong {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        font-size: 18px;
        line-height: 1;
    }

    .mm-property-facts span:not(.mm-fact-icon) {
        grid-column: 1 / -1;
        grid-row: 2;
        overflow: hidden;
        margin: 2px 0 0;
        font-size: 9px;
        line-height: 1.1;
        letter-spacing: .07em;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mm-content-block,
    .mm-highlights-block,
    .mm-video-section,
    .mm-map-block {
        padding: 16px 14px;
        margin-block: 14px;
    }

    .mm-highlight-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-highlight-grid > span {
        min-height: 38px;
        padding: 8px 9px;
    }

    .mm-dossier-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1px;
        margin-top: 16px;
    }

    .mm-dossier-grid > div {
        min-height: 0;
        padding: 14px;
    }

    .mm-dossier-grid > div:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .mm-dossier-grid p {
        font-size: 13px;
        line-height: 1.35;
    }

    .mm-footer {
        grid-template-columns: 1fr 1fr !important;
        gap: 16px 12px;
        padding: 24px 16px 30px;
    }

    .mm-footer-about {
        grid-column: 1 / -1;
    }
}

@media (max-width: 360px) {
    .mm-property-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .mm-highlight-grid,
    .mm-dossier-grid,
    .mm-footer {
        grid-template-columns: 1fr !important;
    }
}

/* Generic preview mirror templates */
.mm-page-hero,
.mm-project-hero {
    padding: clamp(34px, 6vw, 76px) clamp(18px, 4vw, 64px);
    background: var(--mm-paper-2);
    border-bottom: 1px solid var(--mm-line);
}

.mm-simple-breadcrumbs {
    display: flex;
    gap: 10px;
    align-items: center;
    max-width: 1280px;
    margin: 0 auto 26px;
    overflow-x: auto;
    color: var(--mm-muted);
    font-size: 13px;
    white-space: nowrap;
}

.mm-simple-breadcrumbs a {
    font-weight: 800;
    color: var(--mm-ink);
}

.mm-simple-breadcrumbs a::after {
    content: "/";
    margin-left: 10px;
    color: var(--mm-muted);
}

.mm-page-hero-grid,
.mm-project-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
    gap: clamp(24px, 5vw, 70px);
    align-items: end;
    max-width: 1280px;
    margin: 0 auto;
}

.mm-page-hero h1,
.mm-project-hero h1 {
    max-width: 920px;
    margin-bottom: 18px;
    font-size: clamp(42px, 6vw, 60px);
    line-height: .96;
}

.mm-page-hero p,
.mm-project-hero p {
    max-width: 760px;
    color: var(--mm-muted);
    font-size: 18px;
    line-height: 1.55;
}

.mm-page-contact {
    align-self: stretch;
    display: grid;
    gap: 14px;
    align-content: start;
    padding: 24px;
    background: var(--mm-olive);
    border-radius: 8px;
    color: var(--mm-paper);
}

.mm-page-contact span {
    color: var(--mm-gold);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mm-page-contact strong {
    font-family: var(--mm-serif);
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
}

.mm-page-contact p {
    margin: 0;
    color: rgba(247, 243, 236, .75);
    font-size: 14px;
}

.mm-page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    gap: clamp(24px, 5vw, 70px);
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(34px, 6vw, 76px) clamp(18px, 4vw, 64px);
}

.mm-page-content {
    min-width: 0;
    padding: clamp(22px, 4vw, 42px);
    background: rgba(255, 255, 255, .42);
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-page-content > *:first-child {
    margin-top: 0;
}

.mm-page-content > *:last-child {
    margin-bottom: 0;
}

.mm-page-content h2,
.mm-page-content h3 {
    margin: 1.3em 0 .5em;
    line-height: 1.05;
}

.mm-page-content h2 {
    font-size: clamp(32px, 4vw, 54px);
}

.mm-page-content h3 {
    font-size: clamp(26px, 3vw, 38px);
}

.mm-page-content p,
.mm-page-content li {
    color: var(--mm-muted);
    font-size: 17px;
    line-height: 1.68;
}

.mm-page-content a {
    color: var(--mm-ink);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.mm-page-content img {
    height: auto;
    border-radius: 8px;
}

.mm-page-content .gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 28px 0 0;
}

.mm-page-content .gallery::before,
.mm-page-content .gallery::after {
    display: none;
}

.mm-page-content .gallery .gallery-item {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0;
}

.mm-page-content .gallery-icon {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-page-content .gallery-icon a,
.mm-page-content .gallery-icon img {
    display: block;
    width: 100%;
}

.mm-page-content .gallery-icon img {
    height: auto;
    border-radius: 0;
}

.mm-page-content .gallery-caption {
    margin: 8px 0 0;
    color: var(--mm-muted);
    font-size: 12px;
    line-height: 1.35;
    text-align: left;
}

.mm-page-content.has-mm-document-gallery .elementor-image-gallery {
    display: none;
}

.mm-document-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.mm-document-gallery a {
    display: grid;
    gap: 9px;
    padding: 10px;
    background: #fff;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
    color: var(--mm-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
}

.mm-document-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px;
}

.mm-page-sidebar {
    position: sticky;
    top: 104px;
    align-self: start;
    display: grid;
    gap: 10px;
    padding: 22px;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-page-sidebar a {
    padding: 12px 0;
    border-bottom: 1px solid var(--mm-line);
    color: var(--mm-muted);
    font-weight: 800;
}

.mm-page-sidebar a:last-child {
    border-bottom: 0;
}

.mm-post-hero-image,
.mm-project-hero figure {
    margin: 0;
    overflow: hidden;
    border-radius: 8px;
    background: var(--mm-olive);
}

.mm-post-hero-image img,
.mm-project-hero figure img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 260px;
    object-fit: cover;
}

.mm-preview-archive {
    max-width: 1440px;
    margin: 0 auto;
    padding: clamp(34px, 6vw, 76px) clamp(18px, 4vw, 64px);
}

.mm-post-grid,
.mm-project-grid,
.mm-agent-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.mm-post-card,
.mm-project-card,
.mm-agent-card {
    overflow: hidden;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-post-card > div,
.mm-project-card > div,
.mm-agent-card > div {
    display: grid;
    gap: 12px;
    padding: 22px;
}

.mm-post-card-image,
.mm-project-image,
.mm-agent-image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--mm-paper-3);
}

.mm-post-card-image img,
.mm-project-image img,
.mm-agent-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-post-card h2,
.mm-project-card h2,
.mm-agent-card h2 {
    margin: 0;
    font-family: var(--mm-sans);
    font-size: 22px;
    font-weight: 900;
    line-height: 1.13;
}

.mm-post-card p,
.mm-project-card p,
.mm-agent-card p {
    margin: 0;
    color: var(--mm-muted);
    line-height: 1.5;
}

.mm-project-contact-icons {
    margin-bottom: 8px;
}

.mm-map-search,
.mm-collection-page,
.mm-services-page {
    max-width: 1480px;
    margin: 0 auto;
    padding: clamp(28px, 4vw, 58px) clamp(18px, 4vw, 64px);
}

/* Compare uses the full screen width so columns have room to breathe. */
.mm-collection-page[data-mm-collection-page="compare"] {
    max-width: none;
}

.mm-map-search-head,
.mm-collection-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: clamp(24px, 5vw, 74px);
    align-items: end;
    padding: clamp(42px, 6vw, 82px) clamp(18px, 4vw, 64px) 24px;
    background: var(--mm-paper-2);
}

.mm-map-search-head h1,
.mm-collection-hero h1,
.mm-service-hero h1 {
    max-width: 980px;
    margin-bottom: 16px;
    font-size: clamp(42px, 6vw, 78px);
    line-height: .98;
}

.mm-map-search-head p,
.mm-collection-hero p,
.mm-service-hero p {
    max-width: 760px;
    color: var(--mm-muted);
    font-size: 18px;
}

.mm-map-filter {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr)) auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 18px;
    padding: 16px;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-map-filter label {
    display: grid;
    gap: 6px;
}

.mm-map-filter label span {
    color: var(--mm-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.mm-map-filter select,
.mm-map-filter input {
    min-height: 42px;
    width: 100%;
    padding: 0 12px;
    border: 1px solid var(--mm-line);
    border-radius: 6px;
    background: var(--mm-white);
    color: var(--mm-ink);
}

.mm-map-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: 18px;
    align-items: start;
}

.mm-map-canvas {
    position: sticky;
    top: 96px;
    min-height: min(72vh, 720px);
    overflow: hidden;
    border: 1px solid var(--mm-line);
    border-radius: 10px;
    background:
        linear-gradient(135deg, rgba(33, 82, 86, .18), rgba(184, 139, 72, .2)),
        #d9dfd4;
}

.mm-map-grid-bg {
    position: absolute;
    inset: 0;
    opacity: .4;
    background-image:
        linear-gradient(rgba(255, 255, 255, .7) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .7) 1px, transparent 1px);
    background-size: 72px 72px;
}

.mm-map-pin {
    position: absolute;
    z-index: 2;
    display: grid;
    gap: 2px;
    min-width: 88px;
    padding: 8px 10px;
    transform: translate(-50%, -50%);
    border-radius: 999px;
    background: var(--mm-olive);
    color: var(--mm-white);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .24);
}

.mm-map-pin span {
    position: absolute;
    top: -9px;
    left: -9px;
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--mm-gold);
    color: var(--mm-ink);
    font-size: 12px;
    font-weight: 900;
}

.mm-map-pin strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mm-map-caption {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 3;
    display: grid;
    gap: 2px;
    padding: 12px 14px;
    border-radius: 8px;
    background: rgba(251, 250, 246, .94);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .14);
}

.mm-map-caption span {
    color: var(--mm-muted);
    font-size: 13px;
}

.mm-map-list {
    display: grid;
    gap: 14px;
}

.mm-map-list .mm-card {
    max-width: none;
}

.mm-map-list .mm-card-image {
    height: 190px !important;
}

.mm-compare-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
    padding: 14px 16px;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-compare-toolbar span {
    font-weight: 900;
}

.mm-compare-table {
    display: grid;
    overflow-x: auto;
    border: 1px solid var(--mm-line);
    border-radius: 10px;
    background: #fbfaf6;
}

.mm-compare-row {
    display: grid;
    grid-template-columns: 190px repeat(var(--mm-compare-cols, 2), minmax(240px, 1fr));
    min-width: calc(190px + (var(--mm-compare-cols, 2) * 240px));
    border-bottom: 1px solid var(--mm-line);
}

.mm-compare-row:last-child {
    border-bottom: 0;
}

.mm-compare-row > div,
.mm-compare-row > article {
    padding: 16px;
    min-width: 0;
    border-right: 1px solid var(--mm-line);
}

.mm-compare-row > div:first-child {
    color: var(--mm-muted);
    font-weight: 900;
    text-transform: uppercase;
}

.mm-compare-row > *:last-child {
    border-right: 0;
}

.mm-compare-row-head article {
    display: grid;
    gap: 10px;
}

.mm-compare-row-head img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 6px;
}

.mm-compare-row-head strong {
    display: block;
    color: var(--mm-ink);
    font-size: 18px;
    line-height: 1.18;
}

.mm-compare-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.mm-compare-tags span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 0 9px;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    background: var(--mm-white);
    font-size: 12px;
}

.mm-collection-empty {
    max-width: 760px;
    margin-inline: auto;
}

.mm-service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: 16px;
}

.mm-service-card {
    display: grid;
    gap: 14px;
    min-height: 280px;
    padding: 24px;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-service-card span {
    color: var(--mm-gold);
    font-weight: 900;
}

.mm-service-card h2 {
    margin: 0;
    font-family: var(--mm-sans);
    font-size: 24px;
    font-weight: 900;
    line-height: 1.15;
}

.mm-service-card p {
    margin: 0;
    color: var(--mm-muted);
}

.mm-service-card .mm-button {
    align-self: end;
}

.mm-service-hero {
    padding: clamp(32px, 5vw, 72px) clamp(18px, 4vw, 64px) 24px;
    background: var(--mm-paper-2);
}

.mm-service-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(28px, 4vw, 58px) clamp(18px, 4vw, 64px);
}

.mm-service-content h2,
.mm-service-content h3 {
    font-family: var(--mm-sans);
    font-weight: 900;
}

.mm-agent-profile {
    display: grid;
    grid-template-columns: minmax(260px, 420px) minmax(0, 1fr);
    gap: clamp(22px, 4vw, 56px);
    align-items: center;
}

.mm-agent-profile figure {
    margin: 0;
    overflow: hidden;
    border-radius: 8px;
    background: var(--mm-olive);
    aspect-ratio: 4 / 5;
}

.mm-agent-profile img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-agent-position {
    max-width: 760px;
    color: var(--mm-gold);
    font-family: var(--mm-sans);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.mm-agent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 18px;
}

.mm-not-found {
    min-height: 62vh;
}

@media (max-width: 1020px) {
    .mm-page-hero-grid,
    .mm-project-hero-grid,
    .mm-page-layout,
    .mm-map-search-head,
    .mm-map-layout,
    .mm-collection-hero,
    .mm-service-layout {
        grid-template-columns: 1fr;
    }

    .mm-page-sidebar {
        position: static;
    }

    .mm-map-canvas {
        position: relative;
        top: auto;
        min-height: 440px;
    }

    .mm-map-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-post-grid,
    .mm-project-grid,
    .mm-agent-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-agent-profile {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .mm-page-hero,
    .mm-project-hero,
    .mm-map-search-head,
    .mm-collection-hero,
    .mm-service-hero {
        padding: 20px 16px 24px;
    }

    .mm-simple-breadcrumbs {
        margin-bottom: 18px;
        padding-bottom: 4px;
        font-size: 12px;
    }

    .mm-page-hero h1,
    .mm-project-hero h1 {
        font-size: 38px;
        line-height: 1;
    }

    .mm-page-hero p,
    .mm-project-hero p {
        font-size: 15px;
    }

    .mm-page-contact {
        padding: 18px;
    }

    .mm-page-contact strong {
        font-size: 28px;
    }

    .mm-page-layout,
    .mm-preview-archive,
    .mm-map-search,
    .mm-collection-page,
    .mm-services-page,
    .mm-service-layout {
        padding: 18px 16px 28px;
    }

    .mm-map-filter {
        grid-template-columns: 1fr;
    }

    .mm-map-canvas {
        min-height: 360px;
    }

    .mm-map-pin {
        min-width: 42px;
        padding: 8px;
    }

    .mm-map-pin strong {
        display: none;
    }

    .mm-card-tools {
        top: 48px;
    }

    .mm-tool-button em {
        display: none;
    }

    .mm-property-save-row .mm-tool-button em,
    .mm-compare-toolbar .mm-tool-button em,
    .mm-compare-row-head .mm-tool-button em {
        display: inline;
    }

    .mm-compare-row {
        grid-template-columns: 130px repeat(var(--mm-compare-cols, 2), minmax(210px, 1fr));
        min-width: calc(130px + (var(--mm-compare-cols, 2) * 210px));
    }

    .mm-page-content {
        padding: 18px 14px;
    }

    .mm-page-content p,
    .mm-page-content li {
        font-size: 15px;
        line-height: 1.55;
    }

    .mm-post-grid,
    .mm-project-grid,
    .mm-agent-grid {
        grid-template-columns: 1fr;
    }

    .mm-agent-profile figure {
        max-height: 420px;
    }

    .mm-page-content .gallery {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .mm-document-gallery {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

@media (max-width: 760px) {
    .mm-preview-body,
    .mm-preview-shell {
        overflow-x: hidden;
    }

    .mm-header {
        padding-inline: 10px;
    }

    .mm-header-row-primary {
        gap: 6px;
    }

    .mm-header .mm-brand {
        flex: 0 1 124px;
        gap: 7px;
    }

    .mm-header .mm-brand small {
        display: none;
    }

    .mm-header .mm-header-social {
        flex: 0 0 auto;
        gap: 3px;
    }

    .mm-header .mm-header-social .mm-social-icon {
        width: 26px;
        height: 26px;
    }

    .mm-header .mm-header-social .mm-social-icon svg,
    .mm-header .mm-header-social .mm-social-icon img {
        width: 16px;
        height: 16px;
    }

    .mm-burger {
        width: 32px;
        height: 32px;
        padding: 7px;
    }

    .mm-listing-hero,
    .mm-listing-controls,
    .mm-listing-layout,
    .mm-listing-results,
    .mm-catalog-card-grid,
    .mm-list-section .mm-card-grid,
    .mm-similar .mm-card-grid {
        max-width: 100%;
        min-width: 0;
    }

    .mm-catalog-card-grid,
    .mm-list-section .mm-card-grid,
    .mm-similar .mm-card-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        justify-content: stretch;
    }

    .mm-catalog-card-grid .mm-card,
    .mm-list-section .mm-card,
    .mm-similar .mm-card {
        width: 100%;
        max-width: 100%;
    }

    .mm-card-body,
    .mm-listing-intro,
    .mm-advisor-panel,
    .mm-catalog-card-grid .mm-card h3,
    .mm-list-section .mm-card h3,
    .mm-similar .mm-card h3 {
        min-width: 0;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 760px) {
    .mm-preview-body,
    .mm-preview-shell,
    .mm-main,
    .mm-catalog-page,
    .mm-listing-layout,
    .mm-listing-results {
        width: 100%;
        max-width: 100vw;
        min-width: 0;
        overflow-x: hidden;
    }

    .mm-catalog-page .mm-listing-layout,
    .mm-listing-layout {
        padding-inline: 16px;
    }

    .mm-catalog-card-grid,
    .mm-list-section .mm-card-grid,
    .mm-similar .mm-card-grid {
        width: calc(100vw - 48px) !important;
        max-width: calc(100vw - 48px) !important;
        margin-inline: 0 16px !important;
        grid-template-columns: minmax(0, 1fr) !important;
        justify-content: stretch !important;
    }

    .mm-catalog-card-grid .mm-card,
    .mm-list-section .mm-card,
    .mm-similar .mm-card {
        width: 100% !important;
        max-width: 100% !important;
    }

    .mm-photo-count {
        right: 10px;
        max-width: calc(100% - 20px);
        white-space: nowrap;
    }

    .mm-catalog-card-grid .mm-card-topline,
    .mm-list-section .mm-card-topline,
    .mm-similar .mm-card-topline {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 8px;
        align-items: start;
        width: 100%;
    }

    .mm-card-id {
        padding-top: 3px;
        white-space: nowrap;
    }

    .mm-card-price {
        justify-self: end;
        max-width: 100%;
    }

    .mm-card-price .mm-price-wrap {
        justify-items: end;
    }

    .mm-card-price .mm-price-value {
        max-width: 148px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mm-card-action-row {
        grid-template-columns: minmax(0, 1fr) 82px !important;
        gap: 6px;
        width: 100%;
    }

    .mm-card-inline-tools {
        display: grid;
        grid-template-columns: repeat(2, 38px);
        gap: 6px;
        width: 82px;
    }

    .mm-inline-tool-button {
        width: 38px;
        min-width: 38px;
    }
}

/* Premium editorial article template */
.mm-header-tool {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .55);
    color: var(--mm-ink);
    font-size: 22px;
    line-height: 1;
}

.mm-header-tool em {
    position: absolute;
    right: -4px;
    top: -5px;
    display: none;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--mm-olive);
    color: var(--mm-white);
    font: 800 10px/17px var(--mm-sans);
    text-align: center;
}

.mm-header-tool em:not(:empty) {
    display: block;
}

.mm-header-contact {
    min-width: 148px;
    border-radius: 7px;
}

.mm-header-contact::after,
.mm-article-author-card .mm-button::after {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--mm-gold);
    content: "";
}

.mm-article-breadcrumbs {
    max-width: none;
    margin: 0;
    padding: 18px clamp(18px, 4vw, 64px);
    background: #fbfaf6;
    border-bottom: 1px solid var(--mm-line);
}

.mm-article-hero {
    position: relative;
    min-height: clamp(300px, 21vw, 380px);
    overflow: hidden;
    background: var(--mm-olive);
}

.mm-article-hero img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-article-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(5, 10, 11, .72) 0%, rgba(5, 10, 11, .46) 45%, rgba(5, 10, 11, .12) 76%, rgba(5, 10, 11, .2) 100%),
        linear-gradient(180deg, rgba(5, 10, 11, .06), rgba(5, 10, 11, .38));
}

.mm-article-hero-content {
    position: relative;
    z-index: 1;
    isolation: isolate;
    display: grid;
    align-content: end;
    min-height: inherit;
    width: 100%;
    padding: clamp(26px, 3.8vw, 44px) calc(max(0px, (100% - 1360px) / 2) + clamp(18px, 4vw, 64px));
    color: var(--mm-white);
}

.mm-article-hero-content::before {
    position: absolute;
    inset: auto 0 0;
    z-index: -1;
    height: 88%;
    content: "";
    background: linear-gradient(0deg, rgba(4, 8, 9, .78), rgba(4, 8, 9, .42) 62%, rgba(4, 8, 9, 0));
    pointer-events: none;
}

.mm-article-hero-content .mm-eyebrow {
    position: relative;
    color: var(--mm-gold);
}

.mm-article-hero-content h1 {
    position: relative;
    max-width: min(100%, 1420px);
    margin: 18px 0 0;
    color: var(--mm-white);
    font-size: clamp(36px, 3.5vw, 56px);
    line-height: 1.07;
}

.mm-author-strip {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 2fr;
    gap: clamp(18px, 5vw, 70px);
    align-items: center;
    padding: 22px calc(max(0px, (100% - 1360px) / 2) + clamp(18px, 4vw, 64px));
    background: #fbfaf6;
    border-bottom: 1px solid var(--mm-line);
}

.mm-author-strip-person {
    display: inline-flex;
    gap: 14px;
    align-items: center;
}

.mm-author-strip-person img {
    width: 66px;
    height: 66px;
    border-radius: 50%;
    object-fit: cover;
}

.mm-author-strip-person strong,
.mm-author-strip-person em {
    display: block;
}

.mm-author-strip-person strong {
    font-size: 16px;
}

.mm-author-strip-person em {
    margin-top: 5px;
    color: var(--mm-muted);
    font-style: normal;
}

.mm-author-strip-badges {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.mm-author-strip-badges span {
    min-height: 42px;
    padding-left: 18px;
    border-left: 1px solid var(--mm-line);
    color: var(--mm-muted);
    font-size: 13px;
    line-height: 1.35;
}

.mm-article-layout {
    display: grid;
    grid-template-columns: minmax(0, 820px) minmax(280px, 390px);
    gap: clamp(32px, 6vw, 86px);
    max-width: 1360px;
    margin: 0 auto;
    padding: clamp(46px, 7vw, 86px) clamp(18px, 4vw, 64px);
}

.mm-article-content {
    min-width: 0;
}

.mm-article-content > *:first-child {
    margin-top: 0;
}

.mm-article-content p,
.mm-article-content li {
    color: var(--mm-muted);
    font-size: 18px;
    line-height: 1.72;
}

.mm-article-content p {
    margin: 0 0 22px;
}

.mm-article-content h2,
.mm-article-content h3 {
    margin: 1.55em 0 .55em;
    line-height: 1.08;
}

.mm-article-content h2 {
    font-size: clamp(34px, 4vw, 56px);
}

.mm-article-content h3 {
    font-size: clamp(25px, 3vw, 36px);
}

.mm-article-content a {
    color: var(--mm-ink);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.mm-article-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.mm-article-content .mm-article-intro {
    max-width: 760px;
    margin-bottom: 36px;
    padding-left: 28px;
    border-left: 4px solid var(--mm-gold);
    color: var(--mm-ink);
    font-family: var(--mm-serif);
    font-size: clamp(25px, 3vw, 34px);
    line-height: 1.34;
}

.mm-article-sidebar {
    position: sticky;
    top: 104px;
    align-self: start;
    display: grid;
    gap: 22px;
}

.mm-article-author-card,
.mm-article-cta-card,
.mm-article-nav {
    overflow: hidden;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
}

.mm-article-author-card > a {
    display: block;
    aspect-ratio: 16 / 11;
    overflow: hidden;
}

.mm-article-author-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 18%;
}

.mm-article-author-card > div {
    display: grid;
    gap: 14px;
    padding: 24px;
}

.mm-article-author-card h2,
.mm-article-cta-card h2,
.mm-article-related-list h2 {
    margin: 0;
    font-family: var(--mm-serif);
    font-size: 30px;
    font-weight: 400;
    line-height: 1.05;
}

.mm-article-author-card p {
    margin: -6px 0 0;
    color: var(--mm-muted);
}

.mm-article-author-card ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    color: var(--mm-muted);
    list-style: none;
}

.mm-article-author-card li {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    font-size: 14px;
    line-height: 1.35;
}

.mm-article-author-card li::before {
    color: var(--mm-gold);
    content: "○";
}

.mm-article-nav {
    display: grid;
    gap: 0;
    padding: 22px;
}

.mm-article-nav p,
.mm-editorial-block span,
.mm-article-related-bottom > .mm-eyebrow {
    margin: 0 0 12px;
    color: var(--mm-gold);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mm-article-nav a {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 13px 0;
    border-top: 1px solid var(--mm-line);
    color: var(--mm-muted);
    font-size: 14px;
    line-height: 1.35;
}

.mm-article-nav a:first-of-type {
    border-top: 0;
}

.mm-article-nav a span {
    color: var(--mm-gold);
    font-weight: 900;
}

.mm-article-cta-card {
    position: relative;
    display: grid;
    gap: 16px;
    min-height: 250px;
    padding: 24px;
}

.mm-article-cta-card p {
    margin: 0;
    color: var(--mm-muted);
    line-height: 1.55;
}

.mm-article-cta-card button {
    justify-self: start;
    align-self: end;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--mm-gold);
    cursor: pointer;
    font: 900 13px/1 var(--mm-sans);
    letter-spacing: 0;
}

.mm-article-related-list {
    display: grid;
    gap: 14px;
}

.mm-article-related-list a {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.mm-article-related-list img {
    width: 82px;
    height: 62px;
    border-radius: 6px;
    object-fit: cover;
}

.mm-article-related-list strong,
.mm-article-related-list em {
    display: block;
}

.mm-article-related-list strong {
    font-size: 14px;
    line-height: 1.28;
}

.mm-article-related-list em {
    margin-top: 5px;
    color: var(--mm-muted);
    font-size: 12px;
    font-style: normal;
}

.mm-editorial-block {
    position: relative;
    margin: 34px 0;
    padding: clamp(22px, 4vw, 34px);
    background: rgba(251, 250, 246, .72);
    border: 1px solid rgba(173, 139, 81, .34);
    border-radius: 8px;
}

.mm-editorial-block blockquote,
.mm-editorial-block p {
    margin: 0;
}

.mm-editorial-block div {
    color: var(--mm-ink);
    font-size: 20px;
    line-height: 1.55;
}

.mm-editorial-block-key div {
    max-width: 680px;
    font-family: var(--mm-serif);
    font-size: clamp(25px, 3vw, 34px);
    line-height: 1.24;
}

.mm-editorial-block-key::after {
    position: absolute;
    right: 28px;
    top: 24px;
    color: rgba(173, 139, 81, .5);
    content: "“";
    font: 80px/1 var(--mm-serif);
}

.mm-editorial-block-andrey,
.mm-editorial-block-conclusion {
    display: inline-block;
    width: calc(50% - 10px);
    vertical-align: top;
}

.mm-editorial-block-andrey + .mm-editorial-block-conclusion {
    margin-left: 16px;
}

.mm-editorial-block-sources {
    background: transparent;
    border-color: transparent;
    padding-inline: 0;
}

.mm-editorial-block-sources div {
    color: var(--mm-muted);
    font-size: 16px;
}

.mm-article-related-bottom {
    margin-top: clamp(42px, 7vw, 82px);
    padding-top: 28px;
    border-top: 1px solid var(--mm-line);
}

.mm-article-related-bottom > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.mm-article-related-card {
    overflow: hidden;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 8px;
    text-decoration: none !important;
}

.mm-article-related-card img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 0;
    object-fit: cover;
}

.mm-article-related-card span {
    display: grid;
    gap: 8px;
    padding: 14px;
}

.mm-article-related-card em {
    justify-self: start;
    padding: 5px 7px;
    background: rgba(173, 139, 81, .12);
    border-radius: 4px;
    color: var(--mm-gold);
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mm-article-related-card strong {
    font-size: 15px;
    line-height: 1.28;
}

.mm-article-related-card small {
    color: var(--mm-muted);
}

.mm-author-archive-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    gap: clamp(28px, 6vw, 86px);
    align-items: center;
}

.mm-author-archive-hero figure {
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border-radius: 8px;
}

.mm-author-archive-hero img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 20%;
}

.mm-author-archive-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.mm-author-archive-badges span {
    min-height: 32px;
    padding: 8px 11px;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .45);
    color: var(--mm-muted);
    font-size: 12px;
}

@media (max-width: 980px) {
    .mm-author-strip,
    .mm-article-layout,
    .mm-author-archive-hero {
        grid-template-columns: 1fr;
    }

    .mm-article-sidebar {
        position: static;
        order: -1;
    }

    .mm-article-nav {
        order: -1;
    }

    .mm-article-related-bottom > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .mm-header {
        flex-direction: row;
        align-items: center;
        gap: 10px;
    }

    .mm-header-row-primary {
        flex: 1 1 auto;
        width: auto;
    }

    .mm-header .mm-header-actions {
        display: inline-flex;
        flex: 0 0 auto;
        gap: 5px;
    }

    .mm-header-tool {
        width: 34px;
        height: 34px;
        font-size: 18px;
    }

    .mm-header-contact {
        display: none;
    }

    .mm-burger {
        width: 34px;
        height: 34px;
    }

    .mm-article-breadcrumbs {
        padding: 12px 16px;
    }

    .mm-article-hero {
        min-height: 350px;
    }

    .mm-article-hero img {
        object-position: 55% 50%;
    }

    .mm-article-hero-overlay {
        background: linear-gradient(180deg, rgba(5, 10, 11, .18), rgba(5, 10, 11, .8));
    }

    .mm-article-hero-content {
        max-width: 100%;
        padding: 18px 16px 22px;
    }

    .mm-article-hero-content::before {
        height: 92%;
        background: linear-gradient(0deg, rgba(4, 8, 9, .94), rgba(4, 8, 9, .8) 68%, rgba(4, 8, 9, 0));
    }

    .mm-article-hero-content h1 {
        max-width: min(100%, 400px);
        margin-top: 13px;
        font-size: clamp(24px, 6.1vw, 29px);
        line-height: 1.1;
        overflow-wrap: anywhere;
        text-shadow: 0 2px 18px rgba(0, 0, 0, .55);
    }

    .mm-author-strip {
        padding: 18px 16px;
    }

    .mm-author-strip-badges {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .mm-author-strip-badges span {
        min-height: 0;
        padding-left: 12px;
    }

    .mm-article-layout {
        width: 100%;
        max-width: 100vw;
        overflow: hidden;
        padding: 32px 16px 58px;
    }

    .mm-article-author-card {
        display: none;
    }

    .mm-article-content p,
    .mm-article-content li {
        font-size: 16px;
        line-height: 1.65;
        overflow-wrap: anywhere;
    }

    .mm-article-content .mm-article-intro {
        max-width: 100%;
        padding-left: 18px;
        font-size: 23px;
        overflow-wrap: anywhere;
    }

    .mm-article-content h2,
    .mm-article-content h3 {
        overflow-wrap: anywhere;
    }

    .mm-article-nav,
    .mm-article-cta-card,
    .mm-author-strip {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .mm-article-nav a {
        grid-template-columns: 36px minmax(0, 1fr);
        overflow-wrap: anywhere;
    }

    .mm-editorial-block-andrey,
    .mm-editorial-block-conclusion {
        display: block;
        width: 100%;
    }

    .mm-editorial-block-andrey + .mm-editorial-block-conclusion {
        margin-left: 0;
    }

    .mm-article-related-bottom > div {
        grid-template-columns: 1fr;
    }
}

/* =========================================================================
 * MontMari preview — стили доп. блоков карточки (2026-05-XX)
 *   .mm-developer-badge   — лого застройщика
 *   .mm-units-table       — доступные варианты (multi-units)
 *   .mm-tour-frame        — 360° виртуальный тур
 * ===================================================================== */

/* --- Лого застройщика --- */
.mm-developer-badge {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin: 4px 0 8px;
    padding: 10px 16px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 12px;
}

.mm-developer-badge .mm-developer-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8a8a8a;
}

.mm-developer-badge img {
    max-height: 44px;
    max-width: 180px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

/* --- Доступные варианты (multi-units) --- */
.mm-units-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 14px;
}

.mm-units-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}

.mm-units-table thead th {
    text-align: left;
    padding: 10px 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8a8a8a;
    border-bottom: 2px solid rgba(0, 0, 0, .08);
    white-space: nowrap;
}

.mm-units-table tbody td {
    padding: 14px;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    vertical-align: middle;
}

.mm-units-table tbody tr:hover {
    background: rgba(0, 0, 0, .015);
}

.mm-units-table strong {
    font-weight: 700;
}

/* --- 360° виртуальный тур --- */
.mm-tour-frame {
    margin-top: 14px;
    border-radius: 14px;
    overflow: hidden;
    background: #000;
}

.mm-tour-frame iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
}

/* --- Мобильная адаптация --- */
@media (max-width: 760px) {
    .mm-developer-badge {
        width: 100%;
        justify-content: flex-start;
        margin-bottom: 12px;
    }

    .mm-developer-badge img {
        max-height: 36px;
    }

    /* Таблица вариантов → карточки на мобиле */
    .mm-units-table thead {
        display: none;
    }

    .mm-units-table,
    .mm-units-table tbody,
    .mm-units-table tr,
    .mm-units-table td {
        display: block;
        width: 100%;
    }

    .mm-units-table tr {
        margin-bottom: 14px;
        padding: 12px 14px;
        border: 1px solid rgba(0, 0, 0, .1);
        border-radius: 12px;
        background: #faf8f3;
    }

    .mm-units-table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        padding: 6px 0;
        border-bottom: 1px solid rgba(0, 0, 0, .05);
        font-size: 14px;
    }

    .mm-units-table tbody td:last-child {
        border-bottom: 0;
    }

    .mm-units-table tbody td::before {
        content: attr(data-label);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #8a8a8a;
        flex: 0 0 auto;
    }

    .mm-units-table tbody td:first-child {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }

    .mm-units-table tbody td:first-child::before {
        margin-bottom: 2px;
    }

    .mm-tour-frame iframe {
        aspect-ratio: 4 / 3;
    }
}

/* =========================================================================
 * MontMari preview — «Доступные варианты» v2 (2026-05-XX):
 *   фото слева, переключатель валют у заголовка, иконки в шапке таблицы
 * ===================================================================== */

/* Заголовок блока + переключатель валют справа */
.mm-units-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.mm-units-head h2 {
    margin: 0;
}

.mm-units-head .nlp-currency-switcher,
.mm-units-head .mm-currency-switcher {
    display: inline-flex;
    gap: 4px;
    flex: 0 0 auto;
}

/* Иконки в заголовках колонок */
.mm-units-table th .mm-units-th-ico {
    display: inline-flex;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    vertical-align: middle;
    color: #8a8a8a;
}

.mm-units-table th .mm-units-th-ico svg {
    width: 16px;
    height: 16px;
}

/* Фото-колонка */
.mm-units-th-photo {
    width: 96px;
}

.mm-units-td-photo {
    width: 96px;
    padding: 8px 14px 8px 0 !important;
}

.mm-units-td-photo img {
    display: block;
    width: 88px;
    height: 64px;
    object-fit: cover;
    border-radius: 10px;
}

.mm-units-td-photo a {
    display: block;
    line-height: 0;
}

/* --- Мобильная адаптация --- */
@media (max-width: 760px) {
    .mm-units-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    /* Фото на мобиле — крупное сверху карточки */
    .mm-units-table-photo tr {
        position: relative;
    }

    .mm-units-td-photo {
        width: 100% !important;
        padding: 0 0 10px !important;
        border-bottom: 0 !important;
    }

    .mm-units-td-photo::before {
        display: none !important;
    }

    .mm-units-td-photo img {
        width: 100%;
        height: 180px;
    }
}

/* =========================================================================
 * MontMari preview — планы этажей + документы (2026-05-XX)
 * ===================================================================== */

/* --- Планы этажей --- */
.mm-floorplans-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 14px;
}

.mm-floorplan {
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 14px;
    padding: 16px;
    background: #faf8f3;
}

.mm-floorplan-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.mm-floorplan-head strong {
    font-size: 17px;
    font-weight: 700;
}

.mm-floorplan-meta {
    font-size: 13px;
    color: #8a8a8a;
}

.mm-floorplan-img {
    display: block;
    line-height: 0;
}

.mm-floorplan-img img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    background: #fff;
}

.mm-floorplan-pdf {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: #1a1f1a;
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.mm-floorplan-desc {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.5;
    color: #444;
}

/* --- Документы --- */
.mm-docs-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.mm-doc-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: 12px;
    text-decoration: none;
    color: #1a1a1a;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.mm-doc-item:hover {
    border-color: rgba(0, 0, 0, .25);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}

.mm-doc-ext {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    padding: 6px 8px;
    background: #c8102e;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    border-radius: 6px;
}

.mm-doc-title {
    flex: 1 1 auto;
    font-size: 14px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mm-doc-arrow {
    flex: 0 0 auto;
    color: #8a8a8a;
    font-size: 18px;
}

@media (max-width: 760px) {
    .mm-docs-list {
        grid-template-columns: 1fr;
    }

    .mm-floorplan-head strong {
        font-size: 15px;
    }
}

/* =========================================================================
 * MontMari preview — индикаторы 360° тура (2026-05-XX)
 * ===================================================================== */

/* Метка 360 на карточке листинга (рядом с фото/видео-бейджами) */
.mm-tour-badge {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    bottom: 12px;
    left: 12px;
    padding: 5px 10px;
    background: rgba(20, 24, 20, .82);
    color: #fff;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    backdrop-filter: blur(4px);
    z-index: 3;
}

/* Если рядом видео-бейдж — сдвигаем 360 правее, чтобы не накладывались */
.mm-video-badge + .mm-tour-badge {
    left: auto;
    right: 12px;
}

.mm-tour-badge svg {
    width: 15px;
    height: 15px;
}

/* Якорь-кнопка 360 в hero карточки объекта (1-й экран) */
.mm-hero-tour-anchor {
    position: absolute;
    top: 16px;
    left: 16px;            /* на основном (большом левом) фото, не на карте */
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    background: rgba(15, 18, 15, .92);
    color: #fff !important;  /* светлый текст — читается на любом фоне */
    border-radius: 999px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    backdrop-filter: blur(6px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255,255,255,.12) inset;
    transition: transform .15s ease, background .2s ease;
}

.mm-hero-tour-anchor span {
    color: #fff;
}

.mm-hero-tour-anchor svg {
    stroke: #fff;
}

.mm-hero-tour-anchor:hover {
    transform: translateY(-1px);
    background: #1a1f1a;
    color: #fff;
}

.mm-hero-tour-anchor svg {
    width: 20px;
    height: 20px;
}

/* mm-property-gallery должна быть relative, чтобы кнопка позиционировалась */
.mm-property-gallery {
    position: relative;
}

/* Плавный скролл к якорю тура */
html {
    scroll-behavior: smooth;
}

@media (max-width: 760px) {
    .mm-hero-tour-anchor {
        top: 12px;
        left: 12px;
        right: auto;
        padding: 8px 14px;
        font-size: 13px;
    }

    .mm-hero-tour-anchor svg {
        width: 18px;
        height: 18px;
    }
}

/* =========================================================================
 * MontMari preview — блок цены v3 (2026-05-26)
 * Порядок сверху вниз: переключатель валют → крупная цена → серый блок-
 * подсказка с курсом → тёмная кнопка «Обсудить покупку» (стиль шапки +
 * иконки чат/почта) → компактные «В избранное» / «Сравнить» под кнопкой.
 * Идёт последним в файле и намеренно переопределяет более ранние правила
 * .mm-property-price (включая объявленные с !important).
 * ===================================================================== */
.mm-property-price-v3 {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    width: 100%;
    max-width: 440px;
    margin-left: auto;
    padding: 22px 22px 20px;
    background: #f6f3ec;
    border: 1px solid var(--mm-line);
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(24, 35, 29, .08);
    font-size: 16px; /* сброс унаследованного clamp с .mm-property-price */
    text-align: left;
}

@media (min-width: 761px) {
    .mm-property-price-v3 {
        grid-column: 2;
        grid-row: 2;
        align-self: center;
    }
}

/* 1. Переключатель валют — сверху */
.mm-property-price-v3 .mm-price-switch-row {
    display: flex;
    justify-content: flex-start;
}

.mm-property-price-v3 .mm-currency-switcher {
    display: inline-flex;
    gap: 5px;
    align-self: flex-start;
}

.mm-property-price-v3 .nlp-curr-btn {
    min-height: 30px;
    padding: 0 14px;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .7);
    color: var(--mm-muted);
    font-family: var(--mm-sans);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.mm-property-price-v3 .nlp-curr-btn:hover {
    border-color: var(--mm-olive);
    color: var(--mm-ink);
}

.mm-property-price-v3 .nlp-curr-btn.is-active {
    background: var(--mm-olive);
    border-color: var(--mm-olive);
    color: var(--mm-white);
}

/* 2. Крупная цена */
.mm-property-price-v3 .mm-price-figure {
    display: flex;
}

.mm-property-price-v3 .mm-price-value {
    font-family: var(--mm-serif);
    font-weight: 500;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.05;
    color: var(--mm-ink);
    white-space: nowrap;
}

/* 3. Серый блок-подсказка: курс / приблизительные цены */
.mm-property-price-v3 .mm-price-note {
    margin: 0;
    padding: 9px 12px;
    background: rgba(32, 36, 31, .055);
    border-radius: 10px;
    color: var(--mm-muted);
    font-family: var(--mm-sans);
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: .01em;
}

.mm-property-price-v3 .mm-price-note:empty {
    display: none;
}

/* 4. Кнопка «Обсудить покупку» — тёмная кнопка шапки + иконки чат/почта */
.mm-property-price-v3 .mm-property-cta-wrap {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
    min-width: 0 !important;
}

.mm-cta-discuss {
    width: 100%;
    min-height: 50px;
    padding: 0 18px;
    border-radius: 10px;
    background: var(--mm-olive);
    border-color: var(--mm-olive);
    color: var(--mm-white) !important;
    font-size: 13px;
    letter-spacing: .08em;
    box-shadow: 0 10px 24px rgba(24, 35, 29, .22);
}

.mm-cta-discuss:hover {
    background: #20302a;
    border-color: #20302a;
}

.mm-cta-discuss-icons {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.mm-cta-discuss-icons svg {
    width: 18px;
    height: 18px;
}

/* 5. «В избранное» / «Сравнить» — компактные пилюли под кнопкой */
.mm-property-price-v3 .mm-property-save-row-compact {
    display: flex;
    gap: 8px;
}

.mm-property-price-v3 .mm-property-save-row-compact .mm-tool-button {
    flex: 1 1 0;
    min-height: 38px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .82);
    border-color: var(--mm-line);
    box-shadow: none;
    font-size: 12px;
}

.mm-property-price-v3 .mm-property-save-row-compact .mm-tool-button span {
    font-size: 15px;
}

.mm-property-price-v3 .mm-property-save-row-compact .mm-tool-button.is-active {
    background: var(--mm-olive);
    border-color: var(--mm-olive);
    color: var(--mm-white);
}

@media (max-width: 760px) {
    .mm-property-price-v3 {
        max-width: none;
        margin-left: 0;
        padding: 18px 16px;
        border-radius: 14px;
    }

    .mm-property-price-v3 .mm-price-value {
        font-size: 30px;
    }
}

/* Заголовок + посёлок в одной колонке слева, чтобы посёлок шёл сразу под H1
 * и не «уплывал» вниз из-за высокой карточки цены справа. (2026-05-26) */
.mm-property-title .mm-property-headline {
    grid-column: 1;
    grid-row: 2;
    align-self: center;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.mm-property-headline h1 {
    margin: 0;
    max-width: 100%;
}

/* Лого/название посёлка — простой ссылкой под заголовком, без рамки (2026-05-26) */
.mm-developer-line {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    text-decoration: none;
    color: var(--mm-ink);
}

.mm-developer-line .mm-developer-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mm-muted);
}

.mm-developer-line img {
    max-height: 34px;
    max-width: 130px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.mm-developer-line .mm-developer-name {
    font-weight: 700;
    font-size: 15px;
    color: var(--mm-ink);
    border-bottom: 1px solid transparent;
    transition: border-color .15s ease;
}

.mm-developer-line:hover .mm-developer-name {
    border-bottom-color: var(--mm-olive);
}

@media (max-width: 760px) {
    .mm-property-title .mm-property-headline {
        grid-column: auto;
        grid-row: auto;
        align-self: stretch;
    }
}

/* Список объектов на странице жилого комплекса (2026-05-26) */
.mm-project-objects {
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(28px, 5vw, 56px) clamp(18px, 4vw, 64px) 0;
}

.mm-project-objects .mm-section-head {
    margin-bottom: clamp(18px, 3vw, 28px);
}

/* 3 карточки в ряд на страницах ЖК (2026-07-24) */
.mm-project-objects .mm-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 920px) {
    .mm-project-objects .mm-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .mm-project-objects .mm-card-grid { grid-template-columns: 1fr; }
}

/* Переключатель языка RU/EN (2026-05-26) */
.mm-lang-switch {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .6);
}

.mm-lang-switch .mm-lang {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    color: var(--mm-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}

.mm-lang-switch .mm-lang:hover {
    color: var(--mm-ink);
}

.mm-lang-switch .mm-lang.is-active {
    background: var(--mm-olive);
    color: var(--mm-white);
}

.mm-drawer-lang {
    display: flex;
    gap: 8px;
    margin: 6px 0;
}

.mm-drawer-lang .mm-lang {
    flex: 1 1 0;
    text-align: center;
    padding: 10px 0;
    border: 1px solid var(--mm-line);
    border-radius: 10px;
    color: var(--mm-ink);
    font-weight: 800;
    text-decoration: none;
}

.mm-drawer-lang .mm-lang.is-active {
    background: var(--mm-olive);
    color: var(--mm-white);
    border-color: var(--mm-olive);
}

/* Реальная карта объектов (Leaflet + OpenStreetMap), 2026-05-26 */
#mm-map-leaflet { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; }
.mm-map-canvas .leaflet-container { font: inherit; background: #e8eae4; }
.mm-leaflet-pin { background: none; border: 0; }
.mm-leaflet-pin span {
    display: inline-block;
    transform: translate(-50%, -115%);
    background: var(--mm-olive);
    color: var(--mm-white);
    font: 800 12px/1 var(--mm-sans);
    padding: 6px 9px;
    border-radius: 999px;
    white-space: nowrap;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .28);
    border: 1px solid rgba(255, 255, 255, .55);
}
.mm-leaflet-popup { display: grid; gap: 3px; min-width: 160px; }
.mm-leaflet-popup strong { font-size: 15px; color: var(--mm-ink); }
.mm-leaflet-popup span { color: var(--mm-muted); font-size: 12px; }
.mm-leaflet-popup a { font-weight: 700; color: var(--mm-olive); text-decoration: none; }
.mm-map-canvas .mm-map-caption { top: 14px; right: 14px; bottom: auto; z-index: 1200; }

/* === Карта объектов: крупнее и аккуратнее (2026-05-27) === */
.mm-map-layout {
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, .58fr);
    gap: 22px;
}

.mm-map-canvas {
    top: 88px;
    min-height: min(84vh, 920px);
    border-radius: 18px;
    border: 1px solid var(--mm-line);
    box-shadow: 0 26px 60px rgba(24, 35, 29, .14);
}

#mm-map-leaflet { border-radius: 18px; }

/* Контролы зума и атрибуция под бренд */
.mm-map-canvas .leaflet-bar {
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(24, 35, 29, .18);
}
.mm-map-canvas .leaflet-bar a {
    width: 34px;
    height: 34px;
    line-height: 34px;
    color: var(--mm-ink);
    font-size: 18px;
}
.mm-map-canvas .leaflet-bar a:hover { background: #f3efe6; color: var(--mm-olive); }
.mm-map-canvas .leaflet-control-attribution {
    background: rgba(251, 250, 246, .82);
    border-radius: 8px 0 0 0;
    color: var(--mm-muted);
    font-size: 10px;
}
.mm-map-canvas .leaflet-control-attribution a { color: var(--mm-olive); }

/* Прайс-пины: чище и компактнее */
.mm-leaflet-pin span {
    transform: translate(-50%, -120%);
    padding: 5px 9px;
    font: 800 12px/1 var(--mm-sans);
    background: var(--mm-olive);
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(24, 35, 29, .35);
}

/* Кластеры — в брендовой оливково-золотой гамме */
.mm-map-canvas .marker-cluster {
    background: rgba(24, 35, 29, .18);
}
.mm-map-canvas .marker-cluster div {
    width: 38px;
    height: 38px;
    margin-top: 3px;
    margin-left: 3px;
    border-radius: 50%;
    background: var(--mm-olive);
    color: #fff;
    box-shadow: 0 8px 20px rgba(24, 35, 29, .3);
}
.mm-map-canvas .marker-cluster span {
    line-height: 38px;
    color: #fff;
    font-weight: 800;
}
.mm-map-canvas .marker-cluster-large div { background: var(--mm-gold); color: #1b1b14; }

/* Поповеры */
.mm-map-canvas .leaflet-popup-content-wrapper {
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(24, 35, 29, .22);
}
.mm-map-canvas .leaflet-popup-content { margin: 13px 15px; }

/* Капшен «N на карте» */
.mm-map-canvas .mm-map-caption {
    top: 14px;
    right: 14px;
    bottom: auto;
    z-index: 1200;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(24, 35, 29, .18);
}

/* Адаптив: на узких экранах карта над списком, во всю ширину */
@media (max-width: 1020px) {
    .mm-map-layout { grid-template-columns: 1fr; }
    .mm-map-canvas {
        position: static;
        min-height: 64vh;
    }
}

/* === FAQ-аккордеон на страницах preview (2026-05-27) === */
.mm-page-content .mm-faq { display: grid; gap: 10px; }
.mm-page-content .mm-faq h2 {
    margin: 28px 0 8px;
    font-size: clamp(22px, 3vw, 30px);
}
.mm-page-content .mm-faq h2:first-child { margin-top: 0; }
.mm-faq details {
    border: 1px solid var(--mm-line);
    border-radius: 12px;
    background: #fbfaf6;
    padding: 0 18px;
    transition: background .15s ease, box-shadow .15s ease;
}
.mm-faq details[open] {
    background: #fff;
    box-shadow: 0 12px 28px rgba(24, 35, 29, .08);
}
.mm-faq summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 0;
    font-family: var(--mm-sans);
    font-weight: 700;
    font-size: 17px;
    color: var(--mm-ink);
}
.mm-faq summary::-webkit-details-marker { display: none; }
.mm-faq summary::after {
    content: "+";
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: var(--mm-olive);
    color: #fff;
    font-size: 18px;
    line-height: 1;
}
.mm-faq details[open] summary::after { content: "\2013"; }
.mm-faq details > div {
    padding: 0 0 18px;
    color: var(--mm-muted);
    font-size: 15px;
    line-height: 1.6;
}


/* ===== Footer trust strip (Google / Yandex / YouTube) ===== */
.mm-footer-trust{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:6px;padding-top:28px;border-top:1px solid rgba(255,255,255,.18);}
.mm-footer-trust-title{font-weight:700;font-size:15px;letter-spacing:.02em;opacity:.95;}
.mm-footer-trust-items{display:flex;flex-wrap:wrap;gap:12px;}
.mm-trust{display:inline-flex;flex-direction:column;gap:3px;padding:10px 18px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.06);color:var(--mm-paper);text-decoration:none;min-width:160px;transition:background .2s,border-color .2s,transform .2s;}
.mm-trust:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.42);transform:translateY(-2px);}
.mm-trust-brand{font-weight:700;font-size:15px;line-height:1.1;}
.mm-trust-meta{font-size:13px;opacity:.88;}
.mm-trust-stars{color:#f5b50a;}
@media (max-width:720px){.mm-footer-trust{flex-direction:column;align-items:flex-start;}.mm-trust{width:100%;}}


/* ===== Homepage client reviews ===== */
/* === Reviews section (homepage) — aggregate panel + cards grid + CTA banner === */
.mm-reviews-section {
    padding: clamp(58px, 7vw, 104px) clamp(18px, 4vw, 64px);
    background: var(--mm-paper-2);
}

.mm-reviews-section .mm-section-head {
    margin-bottom: 36px;
}

.mm-reviews-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.mm-reviews-layout > * {
    min-width: 0;
}

/* --- left aggregate panel --- */
.mm-reviews-summary {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 32px;
    background: var(--mm-white);
    border: 1px solid var(--mm-line);
    border-radius: 6px;
}

.mm-rating-big {
    font-family: var(--mm-serif);
    font-size: 64px;
    font-weight: 400;
    line-height: 1;
    color: var(--mm-ink);
}

.mm-rating-stars-row {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--mm-gold);
}

.mm-rating-stars-row svg {
    display: block;
    width: 22px;
    height: 22px;
    fill: currentColor;
}

.mm-rating-caption {
    margin: 0;
    color: var(--mm-muted);
    font-size: 13px;
    line-height: 1.5;
}

.mm-rating-bars {
    list-style: none;
    margin: 6px 0 6px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mm-rating-bars li {
    display: grid;
    grid-template-columns: 14px 1fr 38px;
    gap: 12px;
    align-items: center;
    font-size: 12px;
    color: var(--mm-muted);
}

.mm-rating-bars-num {
    color: var(--mm-ink);
    font-weight: 700;
}

.mm-rating-bars-pct {
    text-align: right;
    font-weight: 700;
    color: var(--mm-ink);
}

.mm-rating-bar {
    height: 6px;
    background: rgba(173, 139, 81, 0.12);
    border-radius: 999px;
    overflow: hidden;
}

.mm-rating-bar > span {
    display: block;
    height: 100%;
    background: var(--mm-gold);
    border-radius: 999px;
}

.mm-reviews-summary-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 4px;
}

.mm-reviews-summary-buttons .mm-button {
    width: 100%;
    justify-content: center;
    gap: 10px;
}

.mm-reviews-summary-buttons .mm-button svg {
    flex-shrink: 0;
}

.mm-reviews-summary-link {
    text-align: center;
    color: var(--mm-muted);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    padding: 4px;
}

.mm-reviews-summary-link:hover {
    color: var(--mm-ink);
}

/* --- right cards grid --- */
.mm-reviews-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-content: start;
}

.mm-review {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
    padding: 26px 24px;
    background: var(--mm-white);
    border: 1px solid var(--mm-line);
    border-radius: 6px;
    transition: box-shadow .25s ease, border-color .25s ease;
}

.mm-review:hover {
    border-color: rgba(173, 139, 81, 0.35);
    box-shadow: 0 14px 34px rgba(32, 36, 31, 0.07);
}

.mm-review-stars {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--mm-gold);
}

.mm-review-stars svg {
    display: block;
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.mm-review-text {
    flex: 1;
    margin: 0;
    color: var(--mm-ink);
    font-size: 14.5px;
    line-height: 1.65;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.mm-review-author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid var(--mm-line);
}

.mm-review-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 50%;
    background: rgba(173, 139, 81, 0.18);
    color: var(--mm-gold);
    font-family: var(--mm-serif);
    font-size: 18px;
    font-weight: 700;
}

.mm-review-author > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.mm-review-name {
    color: var(--mm-ink);
    font-size: 14px;
    font-weight: 700;
}

.mm-review-src {
    color: var(--mm-muted);
    font-size: 12px;
}

/* --- bottom CTA banner --- */
.mm-reviews-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 32px;
    padding: 22px 28px;
    background: var(--mm-olive);
    color: var(--mm-white);
    border-radius: 8px;
}

.mm-reviews-cta-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.mm-reviews-cta-text strong {
    color: var(--mm-white);
    font-size: 17px;
    font-weight: 700;
}

.mm-reviews-cta-text span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
}

/* --- responsive --- */
@media (max-width: 1280px) {
    .mm-reviews-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .mm-reviews-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .mm-reviews-section {
        padding: 48px 16px 56px;
    }
    .mm-reviews-cards {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .mm-reviews-summary {
        padding: 24px;
    }
    .mm-rating-big {
        font-size: 52px;
    }
    .mm-reviews-cta {
        padding: 18px 20px;
        flex-direction: column;
        align-items: flex-start;
    }
}


/* === 404 page === */
.mm-notfound-hero {
    padding: clamp(80px, 12vw, 160px) clamp(18px, 4vw, 64px) clamp(60px, 8vw, 100px);
    background: var(--mm-paper-2);
    text-align: center;
}

.mm-notfound-wrap {
    max-width: 720px;
    margin: 0 auto;
}

.mm-notfound-hero .mm-eyebrow {
    margin-bottom: 28px;
}

.mm-notfound-code {
    display: block;
    font-family: var(--mm-serif);
    font-size: clamp(96px, 18vw, 200px);
    font-weight: 400;
    line-height: 0.95;
    color: var(--mm-gold);
    letter-spacing: -0.02em;
    margin-bottom: 14px;
}

.mm-notfound-title {
    font-family: var(--mm-serif);
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 400;
    color: var(--mm-ink);
    margin: 0 0 22px;
    line-height: 1.15;
}

.mm-notfound-text {
    margin: 0 auto 36px;
    max-width: 600px;
    color: var(--mm-muted);
    font-size: 16px;
    line-height: 1.65;
}

.mm-notfound-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.mm-notfound-suggestions {
    padding: clamp(48px, 7vw, 88px) clamp(18px, 4vw, 64px);
}

.mm-notfound-suggestions .mm-section-head {
    text-align: center;
    margin: 0 auto 40px;
}

@media (max-width: 760px) {
    .mm-notfound-hero {
        padding: 56px 16px 48px;
    }
    .mm-notfound-actions {
        flex-direction: column;
    }
    .mm-notfound-actions .mm-button {
        width: 100%;
        justify-content: center;
    }
    .mm-notfound-suggestions {
        padding: 40px 16px 56px;
    }
}


/* === Messenger buttons reset (cloaked WhatsApp/Telegram) === */
/* Buttons that replace messenger <a> tags inherit visual styles from .mm-button
   etc., but default browser button styling fights — strip it on every variant
   we use for messenger CTAs so they look identical to their previous <a> form. */
button[data-mm-msg],
button[data-mm-msg]:focus,
button[data-mm-msg]:hover {
    -webkit-appearance: none;
    appearance: none;
    background: none;
    border: 0;
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    cursor: pointer;
}

/* Re-apply the visual look from each class that the original <a> carried. */
button[data-mm-msg].mm-button {
    /* fall back to .mm-button base rules (display:inline-flex etc.) */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

button[data-mm-msg].mm-tool-button,
button[data-mm-msg].mm-inline-tool-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

button[data-mm-msg].mm-social-icon,
button[data-mm-msg].mm-social-whatsapp,
button[data-mm-msg].mm-social-telegram {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

button[data-mm-msg].mm-contact-channel,
button[data-mm-msg].mm-contact-channel-whatsapp,
button[data-mm-msg].mm-contact-channel-telegram {
    width: 100%;
    text-align: left;
}

/* ============================================================
 * About page (mm-preview/about.php)
 * ============================================================ */

.mm-about-hero {
    background: var(--mm-paper-2, #f0e6cf);
    padding: 88px clamp(20px, 6vw, 64px) 72px;
}

.mm-about-hero-copy {
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
}

.mm-about-hero-copy h1 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(36px, 5vw, 60px);
    line-height: 1.08;
    color: var(--mm-ink, #1a1a1a);
    margin: 14px 0 22px;
    letter-spacing: -0.01em;
}

.mm-about-hero-copy .mm-eyebrow {
    color: var(--mm-gold, #ad8b51);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 12px;
    font-weight: 600;
}

.mm-about-hero-lead {
    font-size: clamp(16px, 1.25vw, 19px);
    line-height: 1.55;
    color: var(--mm-ink-soft, #4a4a4a);
    margin: 0 0 32px;
}

.mm-about-hero .mm-hero-actions {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}

/* --- stats --- */
.mm-about-stats {
    padding: 56px clamp(20px, 6vw, 64px);
    background: var(--mm-paper, #f7eed7);
    border-top: 1px solid rgba(173, 139, 81, 0.18);
    border-bottom: 1px solid rgba(173, 139, 81, 0.18);
}

.mm-about-stats-grid {
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: clamp(20px, 3vw, 48px);
}

.mm-about-stats-grid article {
    text-align: center;
}

.mm-about-stats-grid strong {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(40px, 4vw, 60px);
    color: var(--mm-ink, #1a1a1a);
    display: inline-block;
    letter-spacing: -0.02em;
    line-height: 1;
}

.mm-about-stats-grid strong span {
    color: var(--mm-gold, #ad8b51);
    font-size: 0.6em;
    margin-left: 2px;
}

.mm-about-stats-grid > article > span {
    display: block;
    margin-top: 10px;
    color: var(--mm-ink-soft, #4a4a4a);
    font-size: 14px;
    line-height: 1.4;
}

/* --- story (landscape hero photo + 2-col text under) --- */
.mm-about-story {
    padding: 88px clamp(20px, 6vw, 64px);
    background: var(--mm-paper-2, #f0e6cf);
}

.mm-about-story-hero {
    max-width: 1240px;
    margin: 0 auto 56px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 28px 70px -36px rgba(0, 0, 0, 0.45);
    aspect-ratio: 16 / 9;
    background: var(--mm-ink, #1a1a1a);
}

.mm-about-story-hero img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
}

.mm-about-story-text {
    max-width: 1240px;
    margin: 0 auto;
}

.mm-about-story-text .mm-eyebrow {
    color: var(--mm-gold, #ad8b51);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 12px;
    font-weight: 600;
}

.mm-about-story-text h2 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 1.15;
    margin: 12px 0 28px;
    color: var(--mm-ink, #1a1a1a);
    max-width: 880px;
}

.mm-about-story-cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(28px, 4vw, 56px);
}

.mm-about-story-cols p {
    font-size: 16px;
    line-height: 1.65;
    color: var(--mm-ink-soft, #4a4a4a);
    margin: 0;
}

.mm-about-story-caption {
    margin: 36px 0 0;
    padding-top: 22px;
    border-top: 1px solid rgba(173, 139, 81, 0.25);
    font-size: 13px;
    color: var(--mm-ink-soft, #4a4a4a);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    .mm-about-story-hero { margin-bottom: 36px; }
    .mm-about-story-hero img { object-position: center 25%; }
}

/* --- services --- */
.mm-about-services {
    padding: 88px clamp(20px, 6vw, 64px);
    background: var(--mm-paper, #f7eed7);
}

.mm-about-services .mm-section-head {
    max-width: 800px;
    margin: 0 auto 48px;
    text-align: center;
}

.mm-about-services .mm-section-head h2 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 1.12;
    color: var(--mm-ink, #1a1a1a);
    margin: 8px 0 0;
}

.mm-about-services-grid {
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 22px;
}

.mm-about-services-grid article {
    background: #fff;
    border: 1px solid rgba(173, 139, 81, 0.18);
    border-radius: 6px;
    padding: 28px 26px;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.mm-about-services-grid article:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px -28px rgba(0, 0, 0, 0.3);
}

.mm-about-services-grid span {
    display: inline-block;
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: 28px;
    color: var(--mm-gold, #ad8b51);
    margin-bottom: 14px;
}

.mm-about-services-grid h3 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: 22px;
    line-height: 1.25;
    color: var(--mm-ink, #1a1a1a);
    margin: 0 0 10px;
}

.mm-about-services-grid p {
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--mm-ink-soft, #4a4a4a);
    margin: 0;
}

/* --- founder quote --- */
.mm-about-quote {
    padding: 96px clamp(20px, 6vw, 64px);
    background: var(--mm-olive, #4f5747);
    color: #f4ecd6;
}

.mm-about-quote-figure {
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
    position: relative;
}

.mm-about-quote-mark {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: 120px;
    line-height: 0.6;
    color: var(--mm-gold, #ad8b51);
    display: block;
    margin-bottom: 12px;
}

.mm-about-quote blockquote {
    margin: 0 0 26px;
    padding: 0;
    border: 0;
}

.mm-about-quote blockquote p {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.45;
    color: #f4ecd6;
    font-style: italic;
    margin: 0;
}

.mm-about-quote figcaption {
    color: rgba(244, 236, 214, 0.85);
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.mm-about-quote-name {
    display: block;
    color: #fff;
    font-weight: 600;
    margin-bottom: 4px;
}

.mm-about-quote-role {
    display: block;
    color: var(--mm-gold, #ad8b51);
    letter-spacing: 0.18em;
    font-size: 12px;
}

/* --- video --- */
.mm-about-video {
    padding: 88px clamp(20px, 6vw, 64px);
    background: var(--mm-paper-2, #f0e6cf);
}

.mm-about-video .mm-section-head {
    max-width: 800px;
    margin: 0 auto 36px;
    text-align: center;
}

.mm-about-video .mm-section-head h2 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(26px, 3vw, 36px);
    color: var(--mm-ink, #1a1a1a);
    margin: 8px 0 0;
}

.mm-about-video-frame {
    max-width: 1080px;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 28px 70px -40px rgba(0, 0, 0, 0.45);
    background: #000;
}

.mm-about-video-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* --- licences --- */
.mm-about-licences {
    padding: 72px clamp(20px, 6vw, 64px);
    background: var(--mm-paper, #f7eed7);
}

.mm-about-licences .mm-section-head {
    max-width: 800px;
    margin: 0 auto 28px;
    text-align: center;
}

.mm-about-licences .mm-section-head h2 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(26px, 3vw, 36px);
    color: var(--mm-ink, #1a1a1a);
    margin: 8px 0 0;
}

.mm-about-licences-row {
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
}

.mm-about-licences-row p {
    color: var(--mm-ink-soft, #4a4a4a);
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 24px;
}

/* --- reviews — наследует .mm-reviews-section со главной --- */
.mm-about-reviews {
    background: var(--mm-paper-2, #f0e6cf);
}

/* --- office --- */
.mm-about-office {
    padding: 88px clamp(20px, 6vw, 64px);
    background: var(--mm-paper, #f7eed7);
}

.mm-about-office .mm-section-head {
    max-width: 800px;
    margin: 0 auto 48px;
    text-align: center;
}

.mm-about-office .mm-section-head h2 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(26px, 3vw, 36px);
    color: var(--mm-ink, #1a1a1a);
    margin: 8px 0 0;
}

.mm-about-office-grid {
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: stretch;
}

.mm-about-office-info {
    background: #fff;
    padding: 36px 32px;
    border: 1px solid rgba(173, 139, 81, 0.18);
    border-radius: 6px;
}

.mm-about-office-info p {
    margin: 0 0 22px;
    line-height: 1.55;
    color: var(--mm-ink-soft, #4a4a4a);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mm-about-office-info p strong {
    display: block;
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: 13px;
    color: var(--mm-gold, #ad8b51);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    margin-bottom: 6px;
    font-weight: 500;
}

.mm-about-office-info a {
    color: var(--mm-ink, #1a1a1a);
    text-decoration: none;
    border-bottom: 1px solid rgba(173, 139, 81, 0.35);
    transition: border-color 0.18s ease;
}

.mm-about-office-info a:hover {
    border-bottom-color: var(--mm-gold, #ad8b51);
}

.mm-about-office-map {
    border-radius: 6px;
    overflow: hidden;
    min-height: 380px;
    box-shadow: 0 22px 50px -34px rgba(0, 0, 0, 0.4);
    background: #ddd;
}

.mm-about-office-map iframe {
    width: 100%;
    height: 100%;
    min-height: 380px;
    border: 0;
    display: block;
}

@media (max-width: 900px) {
    .mm-about-office-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .mm-about-office-map { min-height: 320px; }
    .mm-about-office-map iframe { min-height: 320px; }
}

/* --- final CTA --- */
.mm-about-cta {
    padding: 88px clamp(20px, 6vw, 64px);
    background: var(--mm-paper-2, #f0e6cf);
}

.mm-about-cta-inner {
    max-width: 1100px;
    margin: 0 auto;
    background: var(--mm-ink, #1a1a1a);
    color: #f4ecd6;
    border-radius: 8px;
    padding: clamp(36px, 5vw, 64px);
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: center;
}

.mm-about-cta-inner .mm-eyebrow {
    color: var(--mm-gold, #ad8b51);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 12px;
    font-weight: 600;
}

.mm-about-cta-inner h2 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.18;
    color: #fff;
    margin: 12px 0 18px;
}

.mm-about-cta-text {
    color: rgba(244, 236, 214, 0.82);
    font-size: 15.5px;
    line-height: 1.6;
    margin: 0;
}

.mm-about-cta-inner .mm-hero-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}

.mm-about-cta-inner .mm-hero-actions > * {
    text-align: center;
    padding: 14px 22px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.04em;
    font-size: 14px;
    cursor: pointer;
    display: inline-block;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.mm-about-cta-inner .mm-hero-actions > .mm-button-gold {
    background: var(--mm-gold, #ad8b51) !important;
    color: #fff !important;
    border: 0 !important;
}
.mm-about-cta-inner .mm-hero-actions > .mm-button-gold:hover { background: #c19c5b !important; }
.mm-about-cta-inner .mm-hero-actions > .mm-button-dark {
    background: #fff !important;
    color: var(--mm-ink, #1a1a1a) !important;
    border: 0 !important;
}
.mm-about-cta-inner .mm-hero-actions > .mm-button-dark:hover { background: rgba(255,255,255,0.85) !important; }
.mm-about-cta-inner .mm-hero-actions > .mm-button-ghost {
    border: 1px solid rgba(255,255,255,0.4) !important;
    background: transparent !important;
    color: #f4ecd6 !important;
}
.mm-about-cta-inner .mm-hero-actions > .mm-button-ghost:hover {
    border-color: var(--mm-gold, #ad8b51) !important;
    color: var(--mm-gold, #ad8b51) !important;
}

/* office card buttons */
.mm-about-office-info .mm-hero-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.mm-about-office-info .mm-hero-actions > * {
    padding: 12px 20px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    cursor: pointer;
    display: inline-block;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.mm-about-office-info .mm-hero-actions > .mm-button-gold {
    background: var(--mm-ink, #1a1a1a) !important;
    color: #fff !important;
    border: 0 !important;
}
.mm-about-office-info .mm-hero-actions > .mm-button-ghost {
    border: 1px solid var(--mm-ink, #1a1a1a) !important;
    background: transparent !important;
    color: var(--mm-ink, #1a1a1a) !important;
}

@media (max-width: 800px) {
    .mm-about-cta-inner {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* === Results sort dropdown in catalog header === */
.mm-results-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.mm-results-sort {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid rgba(173, 139, 81, 0.3);
    border-radius: 999px;
    padding: 8px 8px 8px 18px;
    box-shadow: 0 12px 28px -22px rgba(0, 0, 0, 0.35);
    margin: 0;
}

.mm-results-sort label {
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mm-ink-soft, #6a6a6a);
    font-weight: 600;
}

.mm-results-sort select {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 8px 36px 8px 12px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    color: var(--mm-ink, #1a1a1a);
    cursor: pointer;
    border-radius: 999px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23ad8b51'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px;
}

.mm-results-sort select:focus {
    outline: none;
    background-color: var(--mm-paper, #f7eed7);
}

.mm-results-sort-go {
    background: var(--mm-ink, #1a1a1a);
    color: #fff;
    border: 0;
    padding: 8px 14px;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 600;
}

@media (max-width: 680px) {
    .mm-results-head { flex-direction: column; align-items: flex-start; }
    .mm-results-sort { width: 100%; justify-content: space-between; }
    .mm-results-sort select { flex: 1; }
}

/* === Range slider (price / size) === */
.mm-range-block {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(24px, 3vw, 48px);
    margin-top: 24px;
}

.mm-range-slider {
    display: block;
}

.mm-range-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.mm-range-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mm-ink-soft, #6a6a6a);
}

.mm-range-readout {
    font-size: 14px;
    font-weight: 600;
    color: var(--mm-ink, #1a1a1a);
    font-feature-settings: "tnum" 1;
    white-space: nowrap;
}

.mm-range-sep {
    margin: 0 6px;
    color: var(--mm-ink-soft, #6a6a6a);
    font-weight: 400;
}

.mm-range-unit {
    margin-left: 4px;
    color: var(--mm-gold, #ad8b51);
}

.mm-range-track {
    position: relative;
    height: 28px;
    margin: 4px 8px 6px;
}

.mm-range-track::before {
    content: '';
    position: absolute;
    left: 0; right: 0; top: 50%;
    transform: translateY(-50%);
    height: 4px;
    background: rgba(173, 139, 81, 0.22);
    border-radius: 2px;
}

.mm-range-fill {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 4px;
    background: var(--mm-gold, #ad8b51);
    border-radius: 2px;
    pointer-events: none;
}

.mm-range-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    pointer-events: none;
    margin: 0;
}

.mm-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--mm-gold, #ad8b51);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
    cursor: grab;
    pointer-events: auto;
    transition: transform 0.12s ease;
}
.mm-range-input::-webkit-slider-thumb:active { transform: scale(1.08); cursor: grabbing; }

.mm-range-input::-moz-range-thumb {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--mm-gold, #ad8b51);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
    cursor: grab;
    pointer-events: auto;
}

.mm-range-input::-webkit-slider-runnable-track,
.mm-range-input::-moz-range-track {
    background: transparent;
    border: 0;
    height: 100%;
}

.mm-range-input:focus { outline: none; }

/* === Chip groups (bedrooms / bathrooms) === */
.mm-chip-block {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: clamp(20px, 3vw, 40px);
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(173, 139, 81, 0.18);
}

.mm-chip-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.mm-chip-group-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mm-ink-soft, #6a6a6a);
    margin-right: 8px;
    flex: 0 0 auto;
    width: 100%;
    margin-bottom: 4px;
}

.mm-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(173, 139, 81, 0.35);
    background: #fff;
    color: var(--mm-ink, #1a1a1a);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
    user-select: none;
}

.mm-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

.mm-chip:hover {
    border-color: var(--mm-gold, #ad8b51);
}

.mm-chip:has(input:checked) {
    background: var(--mm-ink, #1a1a1a);
    border-color: var(--mm-ink, #1a1a1a);
    color: #fff;
}

/* Фолбэк для браузеров без :has — JS добавит класс is-checked */
.mm-chip.is-checked {
    background: var(--mm-ink, #1a1a1a);
    border-color: var(--mm-ink, #1a1a1a);
    color: #fff;
}

@media (max-width: 560px) {
    .mm-chip-block { grid-template-columns: 1fr; }
}

/* === Compact filter — one-line pills === */
.mm-filter-compact {
    background: #fff;
    border: 1px solid rgba(173, 139, 81, 0.18);
    border-radius: 12px;
    padding: 14px;
    box-shadow: 0 14px 36px -28px rgba(0, 0, 0, 0.22);
}

.mm-fc-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

/* Pill base */
.mm-fc-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 16px;
    background: var(--mm-paper, #f7eed7);
    border: 1px solid rgba(173, 139, 81, 0.25);
    border-radius: 999px;
    color: var(--mm-ink, #1a1a1a);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    transition: border-color 0.15s ease, background 0.15s ease;
    cursor: pointer;
    position: relative;
}

.mm-fc-pill:hover { border-color: var(--mm-gold, #ad8b51); }

.mm-fc-pill.is-active {
    background: var(--mm-ink, #1a1a1a);
    color: #fff;
    border-color: var(--mm-ink, #1a1a1a);
}

.mm-fc-pill.is-active .mm-fc-range-label,
.mm-fc-pill.is-active .mm-fc-select-label,
.mm-fc-pill.is-active .mm-fc-sep,
.mm-fc-pill.is-active .mm-fc-unit {
    color: rgba(255,255,255,0.7);
}

/* Native select pill */
.mm-fc-select select {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 600;
    padding: 0 22px 0 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23ad8b51'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 0 center;
    background-size: 12px;
    cursor: pointer;
}

.mm-fc-pill.is-active .mm-fc-select select {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23ffffff'><path d='M7 10l5 5 5-5z'/></svg>");
}

.mm-fc-select select:focus { outline: none; }

.mm-fc-select-label {
    color: var(--mm-ink-soft, #6a6a6a);
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* Range pill — slider inside */
.mm-fc-range {
    flex: 1 1 280px;
    min-width: 280px;
    max-width: 360px;
    padding: 0 14px 0 16px;
}

.mm-fc-range-label {
    color: var(--mm-ink-soft, #6a6a6a);
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    flex: 0 0 auto;
}

.mm-fc-range-text {
    font-size: 13px;
    font-weight: 600;
    color: inherit;
    font-feature-settings: "tnum" 1;
    white-space: nowrap;
    flex: 0 0 auto;
}

.mm-fc-sep {
    margin: 0 4px;
    color: var(--mm-ink-soft, #6a6a6a);
    font-weight: 400;
}

.mm-fc-unit {
    margin-left: 3px;
    color: var(--mm-gold, #ad8b51);
}

/* compact track inside pill */
.mm-fc-range .mm-range-track {
    position: relative;
    flex: 1 1 70px;
    min-width: 60px;
    height: 22px;
    margin: 0;
}

.mm-fc-range .mm-range-track::before {
    content: '';
    position: absolute;
    left: 0; right: 0; top: 50%;
    transform: translateY(-50%);
    height: 3px;
    background: rgba(173, 139, 81, 0.3);
    border-radius: 2px;
}

.mm-fc-range.is-active .mm-range-track::before {
    background: rgba(255,255,255,0.3);
}

.mm-fc-range .mm-range-fill {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 3px;
    background: var(--mm-gold, #ad8b51);
    border-radius: 2px;
    pointer-events: none;
}

.mm-fc-range .mm-range-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    pointer-events: none;
    margin: 0;
}

.mm-fc-range .mm-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--mm-gold, #ad8b51);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
    cursor: grab;
    pointer-events: auto;
}
.mm-fc-range .mm-range-input::-webkit-slider-thumb:active { cursor: grabbing; }

.mm-fc-range .mm-range-input::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--mm-gold, #ad8b51);
    cursor: grab;
    pointer-events: auto;
}

.mm-fc-range .mm-range-input:focus { outline: none; }

/* Feature pills row */
.mm-fc-features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed rgba(173, 139, 81, 0.2);
}

.mm-fc-feature-pill {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 14px;
    background: #fff;
    border: 1px solid rgba(173, 139, 81, 0.3);
    border-radius: 999px;
    color: var(--mm-ink, #1a1a1a);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    user-select: none;
}

.mm-fc-feature-pill input {
    position: absolute;
    opacity: 0;
    width: 0; height: 0;
    pointer-events: none;
}

.mm-fc-feature-pill:hover {
    border-color: var(--mm-gold, #ad8b51);
}

.mm-fc-feature-pill:has(input:checked),
.mm-fc-feature-pill.is-checked {
    background: var(--mm-ink, #1a1a1a);
    color: #fff;
    border-color: var(--mm-ink, #1a1a1a);
}

/* Actions row */
.mm-fc-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 14px;
}

.mm-fc-actions .mm-button-dark {
    padding: 12px 24px;
    border-radius: 999px;
}

.mm-fc-reset {
    color: var(--mm-ink-soft, #6a6a6a);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    border-bottom: 1px dashed rgba(0,0,0,0.2);
    padding-bottom: 2px;
}
.mm-fc-reset:hover { color: var(--mm-gold, #ad8b51); border-bottom-color: var(--mm-gold, #ad8b51); }

@media (max-width: 720px) {
    .mm-fc-range {
        flex: 1 1 100%;
        max-width: none;
    }
    .mm-fc-pill { flex: 1 1 calc(50% - 5px); justify-content: space-between; }
    .mm-fc-select select { padding-right: 18px; }
}

/* === Author EEAT page === */
.mm-author-hero {
    background: var(--mm-paper-2, #f0e6cf);
    padding: 72px clamp(20px, 6vw, 64px) 56px;
}

.mm-author-hero-inner {
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: clamp(28px, 5vw, 64px);
    align-items: center;
}

.mm-author-hero-copy .mm-eyebrow {
    color: var(--mm-gold, #ad8b51);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 12px;
    font-weight: 600;
}

.mm-author-hero-copy h1 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.1;
    margin: 12px 0 8px;
    color: var(--mm-ink, #1a1a1a);
}

.mm-author-role {
    color: var(--mm-gold, #ad8b51);
    font-weight: 600;
    margin: 0 0 18px;
    font-size: 15px;
}

.mm-author-lead {
    font-size: 16px;
    line-height: 1.6;
    color: var(--mm-ink-soft, #4a4a4a);
    margin: 0 0 28px;
}

.mm-author-hero-photo {
    margin: 0;
    border-radius: 6px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--mm-ink, #1a1a1a);
    box-shadow: 0 24px 60px -32px rgba(0, 0, 0, 0.4);
}

.mm-author-hero-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
}

@media (max-width: 800px) {
    .mm-author-hero-inner { grid-template-columns: 1fr; }
}

/* Stats */
.mm-author-stats {
    padding: 56px clamp(20px, 6vw, 64px);
    background: var(--mm-paper, #f7eed7);
    border-top: 1px solid rgba(173, 139, 81, 0.18);
    border-bottom: 1px solid rgba(173, 139, 81, 0.18);
}
.mm-author-stats-grid {
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: clamp(20px, 3vw, 48px);
}
.mm-author-stats-grid article { text-align: center; }
.mm-author-stats-grid strong {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(36px, 4vw, 56px);
    color: var(--mm-ink, #1a1a1a);
    display: inline-block;
    letter-spacing: -0.02em;
    line-height: 1;
}
.mm-author-stats-grid strong span {
    color: var(--mm-gold, #ad8b51);
    font-size: 0.6em;
    margin-left: 2px;
}
.mm-author-stats-grid > article > span {
    display: block;
    margin-top: 10px;
    color: var(--mm-ink-soft, #4a4a4a);
    font-size: 14px;
    line-height: 1.4;
}

/* Bio — 2 column */
.mm-author-bio {
    padding: 88px clamp(20px, 6vw, 64px);
    background: var(--mm-paper-2, #f0e6cf);
}
.mm-author-bio-inner {
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: clamp(32px, 5vw, 64px);
}
.mm-author-bio-col h2 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(24px, 2.8vw, 34px);
    line-height: 1.18;
    margin: 8px 0 20px;
    color: var(--mm-ink, #1a1a1a);
}
.mm-author-bio-col p {
    font-size: 16px;
    line-height: 1.65;
    color: var(--mm-ink-soft, #4a4a4a);
    margin: 0 0 16px;
}

/* Quote */
.mm-author-quote {
    padding: 96px clamp(20px, 6vw, 64px);
    background: var(--mm-olive, #4f5747);
    color: #f4ecd6;
}
.mm-author-quote figure {
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
}
.mm-author-quote-mark {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: 110px;
    line-height: 0.6;
    color: var(--mm-gold, #ad8b51);
    display: block;
    margin-bottom: 14px;
}
.mm-author-quote blockquote { margin: 0 0 26px; padding: 0; border: 0; }
.mm-author-quote blockquote p {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(18px, 2vw, 26px);
    line-height: 1.45;
    color: #f4ecd6;
    font-style: italic;
    margin: 0;
}
.mm-author-quote figcaption {
    color: rgba(244, 236, 214, 0.85);
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.mm-author-quote-name {
    display: block;
    color: #fff;
    font-weight: 600;
    margin-bottom: 4px;
}
.mm-author-quote-role {
    display: block;
    color: var(--mm-gold, #ad8b51);
    letter-spacing: 0.18em;
    font-size: 12px;
}

/* Video */
.mm-author-video {
    padding: 88px clamp(20px, 6vw, 64px);
    background: var(--mm-paper, #f7eed7);
}
.mm-author-video .mm-section-head {
    max-width: 880px;
    margin: 0 auto 36px;
    text-align: center;
}
.mm-author-video .mm-section-head h2 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(26px, 3vw, 36px);
    color: var(--mm-ink, #1a1a1a);
    margin: 8px 0 0;
}
.mm-author-video-frame {
    max-width: 1080px;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 28px 70px -40px rgba(0, 0, 0, 0.45);
    background: #000;
}
.mm-author-video-frame iframe {
    width: 100%; height: 100%; border: 0; display: block;
}
.mm-author-video-link {
    max-width: 1080px;
    margin: 18px auto 0;
    text-align: center;
}
.mm-author-video-link a {
    color: var(--mm-gold, #ad8b51);
    text-decoration: none;
    font-weight: 600;
}
.mm-author-video-link a:hover { text-decoration: underline; }

/* Contact card */
.mm-author-contact {
    padding: 88px clamp(20px, 6vw, 64px);
    background: var(--mm-paper-2, #f0e6cf);
}
.mm-author-contact-card {
    max-width: 1100px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid rgba(173, 139, 81, 0.18);
    border-radius: 8px;
    padding: clamp(28px, 4vw, 48px);
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: clamp(28px, 4vw, 48px);
    align-items: start;
}
.mm-author-contact-card .mm-eyebrow {
    color: var(--mm-gold, #ad8b51);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 12px;
    font-weight: 600;
}
.mm-author-contact-card h2 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(24px, 2.6vw, 32px);
    margin: 8px 0 12px;
    color: var(--mm-ink, #1a1a1a);
    line-height: 1.18;
}
.mm-author-contact-text {
    color: var(--mm-ink-soft, #4a4a4a);
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}
.mm-author-contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
}
.mm-author-contact-list li {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(173, 139, 81, 0.15);
}
.mm-author-contact-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.mm-author-contact-label {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: 13px;
    color: var(--mm-gold, #ad8b51);
    text-transform: uppercase;
    letter-spacing: 0.16em;
}
.mm-author-contact-list a {
    color: var(--mm-ink, #1a1a1a);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid rgba(173, 139, 81, 0.35);
    align-self: flex-start;
}
.mm-author-contact-list a:hover { border-bottom-color: var(--mm-gold, #ad8b51); }

@media (max-width: 720px) {
    .mm-author-contact-card { grid-template-columns: 1fr; }
}

/* Author posts */
.mm-author-posts {
    padding: 88px clamp(20px, 6vw, 64px);
    background: var(--mm-paper, #f7eed7);
}
.mm-author-posts .mm-section-head {
    max-width: 880px;
    margin: 0 auto 48px;
    text-align: center;
}
.mm-author-posts .mm-section-head h2 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: clamp(26px, 3vw, 36px);
    color: var(--mm-ink, #1a1a1a);
    margin: 8px 0 0;
    line-height: 1.18;
}
.mm-author-posts-grid {
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 22px;
}
.mm-author-post {
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid rgba(173, 139, 81, 0.18);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.mm-author-post:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -28px rgba(0, 0, 0, 0.3); }
.mm-author-post-link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.mm-author-post-thumb {
    aspect-ratio: 16 / 9;
    background-color: var(--mm-paper-2, #f0e6cf);
    background-size: cover;
    background-position: center;
}
.mm-author-post-thumb-empty {
    background-image: linear-gradient(135deg, var(--mm-paper-2, #f0e6cf), var(--mm-paper, #f7eed7));
}
.mm-author-post-body { padding: 18px 20px 22px; }
.mm-author-post-date {
    font-size: 12px;
    color: var(--mm-ink-soft, #6a6a6a);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    display: block;
    margin-bottom: 8px;
}
.mm-author-post-body h3 {
    font-family: var(--mm-serif, "Cormorant Garamond", serif);
    font-size: 20px;
    line-height: 1.25;
    color: var(--mm-ink, #1a1a1a);
    margin: 0;
}

.mm-author-posts-more {
    max-width: 1240px;
    margin: 36px auto 0;
    text-align: center;
}

/* Hero actions on author page */
.mm-author-hero .mm-hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.mm-author-hero .mm-hero-actions a {
    padding: 12px 22px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    font-size: 14px;
}
.mm-author-hero .mm-hero-actions a.mm-button-gold {
    background: var(--mm-gold, #ad8b51);
    color: #fff;
}
.mm-author-hero .mm-hero-actions a.mm-button-ghost {
    border: 1px solid var(--mm-ink, #1a1a1a);
    background: transparent;
    color: var(--mm-ink, #1a1a1a);
}

/* === H1 with inline eyebrow — keeps semantic uniqueness, preserves visual === */
h1.mm-h1-with-eyebrow {
    display: block;
}
h1.mm-h1-with-eyebrow > .mm-eyebrow {
    display: block;
    margin: 0 0 12px;
    padding: 0;
    font-family: var(--mm-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--mm-gold, #ad8b51);
    line-height: 1;
}

/* POI «Что рядом» в карточке объекта */
.mm-poi-block .mm-poi-head{margin-bottom:18px}
.mm-poi-note{color:#6b7280;font-size:14px;margin-top:4px}
.mm-poi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.mm-poi-cat{background:#f7f5f0;border:1px solid #ece7dd;border-radius:14px;padding:14px 16px}
.mm-poi-cat-title{font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.mm-poi-ic{font-size:18px}
.mm-poi-list{list-style:none;margin:0;padding:0}
.mm-poi-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;border-top:1px solid #ece7dd}
.mm-poi-list li:first-child{border-top:none}
.mm-poi-name{color:#1f2937}
.mm-poi-km{color:#9a7b3f;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}

/* Карта районов (шорткод [mm_district_map]) */
.mm-district-map-wrap{border-radius:16px;overflow:hidden;border:1px solid #ece7dd;margin:24px 0}
#mm-district-map{width:100%;background:#eef2f4}
.mm-dm-label{background:rgba(255,255,255,.78);border:none;box-shadow:none;font-weight:600;font-size:12px;color:#1f2937;padding:2px 6px}
.leaflet-container a{background:none}

/* Страница места (CPT mm_place) */
.mm-place-hero{background:#021738 center/cover no-repeat;color:#fff;padding:64px 6vw;min-height:280px;display:flex;align-items:flex-end}
.mm-place-hero-inner{max-width:1200px;margin:0 auto;width:100%}
.mm-place-badge{display:inline-block;background:rgba(255,255,255,.16);backdrop-filter:blur(4px);padding:5px 12px;border-radius:20px;font-size:13px;font-weight:600;margin-bottom:12px}
.mm-place-hero h1{font-size:clamp(28px,4vw,44px);margin:0 0 16px;color:#fff}
.mm-place-body{max-width:1200px;margin:0 auto;padding:28px 6vw 56px;display:grid;gap:26px}
.mm-place-desc{font-size:16px;line-height:1.7;color:#374151}
.mm-place-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.mm-place-gallery img{width:100%;height:150px;object-fit:cover;border-radius:12px;display:block}
.mm-place-note{color:#6b7280;font-size:14px;margin-top:4px}
.mm-place-nearby-head{margin-bottom:16px}
/* ссылка на место в блоке «Что рядом» */
a.mm-poi-name{color:#0b62d6;text-decoration:none}
a.mm-poi-name:hover{text-decoration:underline}







/* Галерея: фото-рамка (живое «дыхание» ширина↔высота) + блок подбора */
.mm-gallery-dialog{ display:block; width:min(1280px,100%); max-height:calc(100dvh - 24px); overflow-y:auto; }
.mm-gallery-photo{ position:relative; --mm-ph:min(62vh,600px); --mm-anim:14s; }
.mm-gallery-stage{ position:relative; height:var(--mm-ph); min-height:0; width:100%; margin:0; background:#12140f; border-radius:12px; overflow:hidden; display:block; }
.mm-gallery-slide{ display:none; position:relative; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; border-radius:0; left:auto; top:auto; transform:none; }
.mm-gallery-slide.is-active{ display:block; animation:mmPhotoBreath var(--mm-anim) ease-in-out infinite; transform-origin:center center; }
48%,52%{ width:auto; height:100%; } }
@media (prefers-reduced-motion: reduce){ .mm-gallery-slide.is-active{ animation:none; transform:scale(1); } }
@keyframes mmPhotoBreath{ 0%,100%{ transform:scale(1.42); } 50%{ transform:scale(1); } }
.mm-gallery-nav{ position:absolute; top:50%; transform:translateY(-50%); z-index:3; grid-column:auto; margin:0; }
.mm-gallery-prev{ left:12px; } .mm-gallery-next{ right:12px; }
.mm-gallery-counter{ position:absolute; left:50%; bottom:12px; transform:translateX(-50%); z-index:3; grid-column:auto; margin:0; background:rgba(18,20,15,.62); color:#fff; padding:5px 13px; border-radius:999px; font:600 13px var(--mm-sans); letter-spacing:.03em; text-transform:none; }

.mm-gallery-similar.mm-gs{ grid-column:1 / -1; position:relative; z-index:5; margin-top:14px; background:var(--mm-paper,#f7f3ec); border:1px solid var(--mm-line,rgba(32,36,31,.14)); border-radius:8px; padding:22px 26px; text-align:left; font-family:var(--mm-sans); color:var(--mm-ink,#20241f); }
.mm-gs-cols{ display:grid; grid-template-columns:250px 1px 1fr; gap:28px; align-items:stretch; }
.mm-gs-intro{ display:flex; flex-direction:column; justify-content:center; }
.mm-gs-eyebrow{ margin:0 0 10px; font:800 12px var(--mm-sans); letter-spacing:.14em; text-transform:uppercase; color:var(--mm-gold,#ad8b51); }
.mm-gs-h{ margin:0 0 10px; font-family:var(--mm-serif); font-weight:400; font-size:31px; line-height:1.03; color:var(--mm-ink,#20241f); }
.mm-gs-lead{ margin:0; font:400 15px/1.6 var(--mm-sans); color:var(--mm-muted,#6d7169); }
.mm-gs-lead strong{ color:var(--mm-ink,#20241f); font-weight:600; }
.mm-gs-div{ width:1px; background:var(--mm-line,rgba(32,36,31,.14)); }
.mm-gs-right{ display:grid; gap:14px; align-content:start; }
.mm-gs .mm-gs-msg-field textarea{ width:100%; border:1px solid var(--mm-line,rgba(32,36,31,.14)); border-radius:6px; background:var(--mm-surface,#fbfaf6); color:var(--mm-ink,#20241f); font:400 16px/1.55 var(--mm-sans); padding:13px 15px; outline:none; resize:none; }
.mm-gs .mm-gs-msg-field textarea:focus{ border-color:var(--mm-gold,#ad8b51); box-shadow:0 0 0 3px rgba(173,139,81,.15); }
.mm-gs-2col{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mm-gs .mm-gs-2col input{ width:100%; border:1px solid var(--mm-line,rgba(32,36,31,.14)); border-radius:6px; background:var(--mm-surface,#fbfaf6); color:var(--mm-ink,#20241f); font:400 15px var(--mm-sans); padding:12px 14px; outline:none; }
.mm-gs .mm-gs-2col input:focus{ border-color:var(--mm-gold,#ad8b51); box-shadow:0 0 0 3px rgba(173,139,81,.15); }
.mm-gs-invalid{ border-color:#a32d2d !important; box-shadow:0 0 0 3px rgba(163,45,45,.12) !important; }
.mm-gs-consent{ display:flex; align-items:flex-start; gap:10px; margin-top:11px; cursor:pointer; }
.mm-gs-consent input{ width:18px; height:18px; margin-top:1px; accent-color:#18231d; cursor:pointer; flex:0 0 auto; }
.mm-gs-consent span{ font:400 12px/1.5 var(--mm-sans); color:var(--mm-muted,#6d7169); }
.mm-gs-consent a{ color:var(--mm-gold,#ad8b51); text-decoration:none; }
.mm-gs-consent.mm-gs-invalid{ box-shadow:none !important; } .mm-gs-consent.mm-gs-invalid span{ color:#a32d2d; }
.mm-gs-bottom{ display:flex; align-items:flex-end; justify-content:space-between; gap:22px; flex-wrap:wrap; }
.mm-gs-mlabel{ display:block; margin:0 0 8px; font:800 11px var(--mm-sans); letter-spacing:.12em; text-transform:uppercase; color:var(--mm-muted,#6d7169); }
.mm-gs-pills{ display:flex; gap:8px; flex-wrap:wrap; }
.mm-gs-pill{ display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border-radius:999px; border:1px solid var(--mm-line,rgba(32,36,31,.14)); background:var(--mm-surface,#fbfaf6); color:var(--mm-ink,#20241f); font:700 13px var(--mm-sans); text-decoration:none; transition:border-color .2s, box-shadow .2s; }
.mm-gs-pill:hover{ box-shadow:0 6px 16px rgba(0,0,0,.08); }
.mm-gs-lbl-short{ display:none; }
.mm-gs-gold{ border:none; border-radius:5px; min-height:50px; padding:0 34px; font:800 12px var(--mm-sans); letter-spacing:.09em; text-transform:uppercase; background:var(--mm-gold,#ad8b51); color:#171911; cursor:pointer; transition:transform .15s, box-shadow .2s; }
.mm-gs-gold:hover{ transform:translateY(-1px); box-shadow:0 10px 26px rgba(0,0,0,.22); }
.mm-gs-only-m{ display:none; }
.mm-gs-error{ margin:8px 0 0; font:500 12.5px/1.4 var(--mm-sans); color:#a32d2d; }
.mm-gs-toast{ margin-top:8px; text-align:center; font:400 12px var(--mm-sans); color:#0b6e56; background:#e1f5ee; border-radius:6px; padding:6px; }

/* Мобильная раскладка — по ширине ИЛИ по высоте (ландшафтный телефон) */
@media (max-width:768px), (max-height:640px){
  .mm-gallery-dialog{ padding:8px; }
  .mm-gallery-photo{ --mm-ph:56vh; }
  .mm-gallery-similar.mm-gs{ grid-column:1; margin-top:10px; padding:16px; }
  .mm-gs-cols{ grid-template-columns:1fr; gap:0; }
  .mm-gs-div{ display:none; }
  .mm-gs-lead{ display:none; }
  .mm-gs-h{ font-size:23px; margin-bottom:12px; }
  .mm-gs-right{ gap:0; margin-top:12px; }
  .mm-gs-reveal{ display:none; }
  .mm-gs.is-revealed .mm-gs-reveal{ display:block; margin-top:10px; animation:mmGsReveal .28s ease both; }
  .mm-gs-2col{ grid-template-columns:1fr; gap:10px; }
  .mm-gs-bottom{ flex-direction:column-reverse; align-items:stretch; gap:0; margin-top:12px; }
  .mm-gs-gold{ width:100%; background:var(--mm-olive,#18231d); color:#fff; }
  .mm-gs-gold:hover{ transform:none; box-shadow:none; background:var(--mm-olive-2,#2e3d31); }
  .mm-gs-only-m{ display:inline; }
  .mm-gs-messengers{ margin-top:14px; padding-top:14px; border-top:1px solid var(--mm-line,rgba(32,36,31,.14)); display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  .mm-gs-mlabel{ margin:0; font:400 12px var(--mm-sans); letter-spacing:0; text-transform:none; }
  .mm-gs-pill{ padding:6px 11px; font-size:12px; gap:6px; }
  .mm-gs-lbl-full{ display:none; } .mm-gs-lbl-short{ display:inline; }
  .mm-gs-error{ text-align:center; }
}
/* Ландшафтный телефон / очень низкий экран — фото на весь экран, форма уходит под прокрутку */
@media (max-height:640px){
  .mm-gallery-photo{ --mm-ph:88dvh; }
}
@keyframes mmGsReveal{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }

/* Галерея: размытая подложка (чтобы «видно всё фото» не давало чёрных полей) */
.mm-gallery-stage{ position:relative; }
.mm-gallery-bg{ position:absolute; inset:-12%; z-index:0; background-position:center; background-size:cover; background-repeat:no-repeat; filter:blur(30px) brightness(.5); transform:scale(1.05); pointer-events:none; }
.mm-gallery-slide{ z-index:1; }

/* Форма «подберём похожее» в сайдбаре карточки объекта (вариант aside) */
.mm-property-aside-gs{ padding:0; background:none; border:none; box-shadow:none; }
.mm-gs-aside{ position:relative; z-index:1; background:var(--mm-paper,#f7f3ec); border:1px solid var(--mm-line,rgba(32,36,31,.14)); border-radius:8px; padding:22px 24px; text-align:left; font-family:var(--mm-sans); color:var(--mm-ink,#20241f); }
.mm-gs-aside .mm-gs-cols{ grid-template-columns:1fr; gap:0; }
.mm-gs-aside .mm-gs-div{ display:none; }
.mm-gs-aside .mm-gs-intro{ display:block; }
.mm-gs-aside .mm-gs-h{ font-size:26px; margin-bottom:10px; }
.mm-gs-aside .mm-gs-lead{ display:block; margin-bottom:4px; }
.mm-gs-aside .mm-gs-right{ gap:12px; margin-top:16px; }
.mm-gs-aside .mm-gs-reveal{ display:block; }
.mm-gs-aside .mm-gs-2col{ grid-template-columns:1fr; gap:10px; }
.mm-gs-aside .mm-gs-bottom{ flex-direction:column-reverse; align-items:stretch; gap:0; margin-top:14px; }
.mm-gs-aside .mm-gs-gold{ width:100%; }
.mm-gs-aside .mm-gs-messengers{ margin-top:16px; padding-top:16px; border-top:1px solid var(--mm-line,rgba(32,36,31,.14)); }
.mm-gs-aside .mm-gs-mlabel{ margin:0 0 8px; }
.mm-gs-aside .mm-gs-pills{ gap:8px; flex-wrap:wrap; }

/* Тёмная тема формы «подберём похожее» в сайдбаре */
.mm-gs-aside{ background:var(--mm-olive,#18231d); border:1px solid rgba(255,255,255,.16); color:var(--mm-paper,#f7f3ec); }
.mm-gs-aside .mm-gs-h{ color:var(--mm-paper,#f7f3ec); }
.mm-gs-aside .mm-gs-lead{ color:rgba(247,243,236,.72); }
.mm-gs-aside .mm-gs-lead strong{ color:var(--mm-paper,#f7f3ec); }
.mm-gs-aside .mm-gs-msg-field textarea,
.mm-gs-aside .mm-gs-2col input{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.2); color:var(--mm-paper,#f7f3ec); }
.mm-gs-aside .mm-gs-msg-field textarea::placeholder,
.mm-gs-aside .mm-gs-2col input::placeholder{ color:rgba(247,243,236,.5); }
.mm-gs-aside .mm-gs-msg-field textarea:focus,
.mm-gs-aside .mm-gs-2col input:focus{ border-color:var(--mm-gold,#ad8b51); box-shadow:0 0 0 3px rgba(173,139,81,.25); }
.mm-gs-aside .mm-gs-consent span{ color:rgba(247,243,236,.7); }
.mm-gs-aside .mm-gs-consent input{ accent-color:var(--mm-gold,#ad8b51); }
.mm-gs-aside .mm-gs-mlabel{ color:rgba(247,243,236,.6); }
.mm-gs-aside .mm-gs-messengers{ border-top-color:rgba(255,255,255,.16); }
.mm-gs-aside .mm-gs-pill{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.2); color:var(--mm-paper,#f7f3ec); }
.mm-gs-aside .mm-gs-pill:hover{ box-shadow:0 6px 16px rgba(0,0,0,.35); }
.mm-gs-aside .mm-gs-gold{ background:var(--mm-gold,#ad8b51); color:#171911; width:100%; }
.mm-gs-aside .mm-gs-gold:hover{ background:var(--mm-gold,#ad8b51); transform:translateY(-1px); box-shadow:0 10px 26px rgba(0,0,0,.3); }

/* =========================================================================
 * Блок групп чипов (SEO-чипы = фильтр) + дедуплицированная форма фильтра
 * ===================================================================== */
.mm-chip-groups {
    display: grid;
    gap: 10px;
    margin: 18px clamp(18px, 4vw, 64px) 0;
}

.mm-chip-row {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
}

.mm-chip-row-label {
    padding-top: 8px;
    color: var(--mm-muted, #6d7169);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.mm-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.mm-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid var(--mm-line, rgba(32, 36, 31, .14));
    border-radius: 999px;
    background: rgba(255, 255, 255, .55);
    color: var(--mm-ink, #20241f);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
    cursor: pointer;
}

.mm-chip:hover {
    border-color: var(--mm-gold, #ad8b51);
}

.mm-chip-count {
    color: var(--mm-muted, #6d7169);
    font-weight: 600;
    font-size: 12px;
}

.mm-chip.is-active {
    background: #021738;
    border-color: #021738;
    color: #fff;
}

.mm-chip.is-active .mm-chip-count {
    color: rgba(255, 255, 255, .7);
}

.mm-chip-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-left: 2px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .2);
    color: #fff;
    font-size: 13px;
    line-height: 1;
    text-decoration: none;
}

.mm-chip-x:hover {
    background: var(--mm-gold, #ad8b51);
    color: #fff;
}

.mm-chip-hidden {
    display: none !important;
}

.mm-chip-more {
    border-style: dashed;
    color: var(--mm-muted, #6d7169);
    background: transparent;
    font-size: 12px;
}

/* --- Контекстный чип в форме --- */
.mm-fc-context {
    background: #021738 !important;
    border-color: #021738 !important;
    color: #fff !important;
    cursor: default;
}

.mm-fc-context-name {
    font-weight: 700;
}

.mm-fc-context .mm-chip-x {
    width: 18px;
    height: 18px;
    font-size: 14px;
}

/* --- Кнопка «Ещё фильтры» + сворачиваемый блок --- */
.mm-fc-row-top {
    align-items: center;
}

.mm-fc-more-toggle {
    gap: 6px;
    background: var(--mm-white, #fff);
    border-style: dashed;
    cursor: pointer;
}

.mm-fc-more-toggle .mm-fc-more-caret {
    transition: transform 0.15s ease;
    color: var(--mm-gold, #ad8b51);
}

.mm-fc-more-toggle.is-open .mm-fc-more-caret {
    transform: rotate(180deg);
}

.mm-fc-more {
    margin-top: 12px;
    padding-top: 14px;
    border-top: 1px dashed rgba(173, 139, 81, 0.25);
}

.mm-fc-more[hidden] {
    display: none;
}

.mm-fc-submit .mm-fc-count {
    margin-left: 2px;
    font-variant-numeric: tabular-nums;
}

/* --- Адаптив: ряды чипов скроллятся горизонтально на мобиле --- */
@media (max-width: 720px) {
    .mm-chip-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }
    .mm-chip-row-label {
        padding-top: 0;
    }
    .mm-chip-list {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 2px;
    }
    .mm-chip-list::-webkit-scrollbar {
        display: none;
    }
    .mm-chip {
        flex: 0 0 auto;
    }
    .mm-fc-more .mm-fc-row {
        gap: 8px;
    }
}

/* === Каталог: переключатель «Список | Карта» + карта каталога (2026-07-10) === */
.mm-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #fff;
    border: 1px solid rgba(2, 23, 56, 0.14);
    border-radius: 999px;
    padding: 4px;
    box-shadow: 0 12px 28px -22px rgba(0, 0, 0, 0.35);
}
.mm-view-tab {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    color: #021738;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .01em;
    padding: 9px 20px;
    border-radius: 999px;
    cursor: pointer;
    transition: background .18s ease, color .18s ease;
}
.mm-view-tab:hover { background: #f2f0ea; }
.mm-view-tab.is-active { background: #021738; color: #fff; }
.mm-view-tab.is-active:hover { background: #021738; }

.mm-results-map { position: relative; }
.mm-catalog-map .leaflet-container { font: inherit; background: #e8eae4; }
.mm-map-pop { min-width: 180px; }
.mm-map-pop-thumb {
    width: 100%;
    height: 104px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 6px;
    display: block;
}
@media (max-width: 680px) {
    .mm-view-toggle { width: 100%; justify-content: center; }
    .mm-view-tab { flex: 1; text-align: center; }
}

/* ===================== УТП-полоса + гео-карточки (шапка каталога) ===================== */
.mm-usp-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 26px;
    margin: 22px 0 0;
    padding: 13px 0;
    list-style: none;
    border-top: 1px solid var(--mm-line);
    border-bottom: 1px solid var(--mm-line);
}
.mm-usp-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--mm-muted);
    font-size: 13px;
    line-height: 1.3;
}
.mm-usp-ico {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: var(--mm-gold);
}

.mm-stat-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.mm-stat-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    min-width: 128px;
    padding: 12px 16px;
    background: #fbfaf6;
    border: 1px solid var(--mm-line);
    border-radius: 10px;
}
.mm-stat-value {
    font-family: var(--mm-serif);
    font-size: 22px;
    line-height: 1.05;
    color: var(--mm-ink);
}
.mm-stat-label {
    font-size: 12px;
    color: var(--mm-muted);
    letter-spacing: .01em;
}
a.mm-stat-card-link {
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease;
}
a.mm-stat-card-link:hover {
    border-color: var(--mm-gold);
    background: var(--mm-white);
}
.mm-stat-card-dual {
    gap: 5px;
    min-width: 210px;
}
.mm-stat-card-dual .mm-stat-label {
    margin-bottom: 2px;
}
.mm-stat-line {
    font-size: 13.5px;
    color: var(--mm-ink);
}
.mm-stat-line b {
    font-weight: 600;
}
.mm-stat-card-note {
    max-width: 320px;
}
.mm-stat-note {
    font-size: 13px;
    line-height: 1.4;
    color: var(--mm-ink);
}

.mm-nearby {
    margin-top: 16px;
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--mm-muted);
}
.mm-nearby-label {
    margin-right: 4px;
    font-weight: 600;
    color: var(--mm-ink);
}
.mm-nearby-link {
    color: var(--mm-ink);
    text-decoration: none;
    border-bottom: 1px solid var(--mm-line);
}
.mm-nearby-link:hover {
    border-color: var(--mm-gold);
    color: var(--mm-gold);
}
.mm-nearby-sep {
    margin: 0 6px;
    color: var(--mm-line);
}
.mm-nearby-map {
    color: var(--mm-gold);
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
}
.mm-nearby-map:hover {
    text-decoration: underline;
}

.mm-catalog-page .mm-listing-hero .mm-listing-intro {
    margin-top: 18px;
}

@media (max-width: 720px) {
    .mm-usp-strip {
        gap: 8px 18px;
    }
    .mm-usp-item {
        font-size: 12.5px;
    }
    .mm-stat-cards {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
        scroll-snap-type: x mandatory;
    }
    .mm-stat-card {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }
    .mm-stat-card-note {
        max-width: 260px;
    }
}

/* Статья-гид: лид и встроенная карта */
.mm-lead{font-size:1.12em;line-height:1.6;color:#2b2b2b;font-weight:500}
.mm-embed-map{position:relative;width:100%;border-radius:14px;overflow:hidden;border:1px solid #ece7dd;margin:16px 0}
.mm-embed-map iframe{display:block;width:100%;height:480px;border:0}
@media (max-width:600px){.mm-embed-map iframe{height:70vw;min-height:320px}}

/* ============================================================
   CATALOG REDESIGN (design handoff 2026-07) — appended overrides
   ============================================================ */

/* ---------- Header ---------- */
.mm-header {
    background: rgba(247, 243, 236, .94);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--mm-line);
    gap: 16px 32px;
    flex-wrap: wrap;
    min-height: 0;
    padding: 16px calc(clamp(18px, 4vw, 64px) + max(0px, (100% - 1500px)/2));
}
.mm-header .mm-brand { gap: 12px; }
.mm-header .mm-brand-mark { flex-shrink: 0; }
.mm-header .mm-brand-text { display: flex; flex-direction: column; line-height: 1; }
.mm-header .mm-brand-text strong {
    font-family: var(--mm-serif);
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .02em;
    color: var(--mm-ink);
}
.mm-header .mm-brand-text small {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--mm-muted);
    margin-top: 3px;
}
.mm-header .mm-nav {
    display: flex;
    gap: 26px;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: center;
}
.mm-header .mm-nav a {
    font-size: 14px;
    font-weight: 600;
    color: var(--mm-muted);
    transition: color .16s ease;
}
.mm-header .mm-nav a:hover { color: var(--mm-ink); }
.mm-header .mm-header-actions { display: flex; align-items: center; gap: 14px; flex-shrink: 0; margin-left: auto; }
.mm-header .mm-lang-switch {
    display: inline-flex;
    align-items: center;
    background: var(--mm-surface);
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    overflow: hidden;
}
.mm-header .mm-lang-switch .mm-lang {
    border: none;
    background: transparent;
    color: var(--mm-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    padding: 7px 13px;
    line-height: 1;
}
.mm-header .mm-lang-switch .mm-lang.is-active { background: var(--mm-olive); color: var(--mm-paper); }
.mm-header .mm-header-tool {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid var(--mm-line);
    background: var(--mm-surface);
    color: var(--mm-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    position: relative;
    transition: transform .16s ease, border-color .16s ease;
}
.mm-header .mm-header-tool:hover { transform: translateY(-1px); border-color: var(--mm-gold); }
.mm-header .mm-header-contact {
    height: 44px;
    border-radius: 5px;
    background: var(--mm-olive);
    color: var(--mm-paper);
    padding: 0 20px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.mm-header .mm-header-contact::after {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--mm-gold);
    display: inline-block;
}
.mm-header .mm-burger { display: none; }
@media (max-width: 1020px) {
    .mm-header .mm-nav { display: none; }
    .mm-header .mm-burger { display: inline-flex; }
    .mm-header .mm-header-row-primary { display: flex; align-items: center; justify-content: space-between; flex: 1 1 auto; }
}
/* Desktop >=1021: single-row header (no wrap of controls under nav) */
@media (min-width: 1021px) {
    .mm-header { flex-wrap: nowrap; gap: 16px 22px; }
    .mm-header .mm-brand { flex-shrink: 0; }
    .mm-header .mm-nav { flex: 1 1 auto; min-width: 0; margin: 0; gap: clamp(10px, 1.3vw, 24px); row-gap: 4px; }
    .mm-header .mm-header-actions { flex-shrink: 0; margin-left: 0; }
}

/* ---------- Hero ---------- */
.mm-catalog-page .mm-catalog-hero,
.mm-catalog-page .mm-listing-hero {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: clamp(32px, 5vw, 72px);
    align-items: end;
    max-width: 1500px;
    margin: 0 auto;
    padding: clamp(40px, 5vw, 68px) clamp(18px, 4vw, 64px) clamp(30px, 3vw, 44px);
}
.mm-catalog-page .mm-catalog-hero .mm-eyebrow { margin: 0 0 18px; }
.mm-catalog-page .mm-catalog-hero h1 {
    font-family: var(--mm-serif);
    font-weight: 400;
    font-size: clamp(46px, 7vw, 92px);
    line-height: .96;
    margin: 0 0 26px;
    color: var(--mm-ink);
    max-width: 14ch;
}
.mm-catalog-page .mm-usp-strip {
    list-style: none;
    margin: 0;
    padding: 20px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 14px 28px;
    border-top: 1px solid var(--mm-line);
}
.mm-catalog-page .mm-usp-item { display: flex; align-items: center; gap: 9px; font-size: 14px; color: var(--mm-ink); }
.mm-catalog-page .mm-usp-ico { width: 20px; height: 20px; color: var(--mm-gold); flex-shrink: 0; }
.mm-catalog-page .mm-listing-intro { margin-top: 22px; color: var(--mm-muted); font-size: 15px; line-height: 1.6; max-width: 60ch; }

/* Stat tiles 2x2 */
.mm-catalog-page .mm-hero-aside .mm-stat-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--mm-line);
    border: 1px solid var(--mm-line);
    border-radius: 8px;
    overflow: hidden;
    margin: 0;
}
.mm-catalog-page .mm-hero-aside .mm-stat-card {
    background: var(--mm-surface);
    padding: 22px 22px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border: none;
    border-radius: 0;
    box-shadow: none;
    text-decoration: none;
}
.mm-catalog-page .mm-hero-aside .mm-stat-card-link:hover { background: var(--mm-paper-2); }
.mm-catalog-page .mm-hero-aside .mm-stat-value {
    font-family: var(--mm-serif);
    font-size: 30px;
    line-height: 1;
    color: var(--mm-ink);
    font-weight: 500;
}
.mm-catalog-page .mm-hero-aside .mm-stat-label { font-size: 12px; color: var(--mm-muted); letter-spacing: .04em; margin: 0; }
.mm-catalog-page .mm-hero-aside .mm-stat-card-dual .mm-stat-line { font-size: 13px; color: var(--mm-ink); }
.mm-catalog-page .mm-hero-aside .mm-stat-card-dual .mm-stat-line b { font-weight: 700; }
.mm-catalog-page .mm-hero-aside .mm-stat-card-note .mm-stat-note { font-size: 13px; color: var(--mm-muted); line-height: 1.45; }
.mm-catalog-page .mm-nearby { margin-top: 16px; font-size: 13px; color: var(--mm-muted); display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.mm-catalog-page .mm-nearby-link { color: var(--mm-ink); border-bottom: 1px solid var(--mm-line); }
.mm-catalog-page .mm-nearby-map { color: var(--mm-gold); font-weight: 600; }

@media (max-width: 900px) {
    .mm-catalog-page .mm-catalog-hero,
    .mm-catalog-page .mm-listing-hero { grid-template-columns: 1fr; }
}

/* ---------- Unified filter panel ---------- */
.mm-ufilter { max-width: 1500px; margin: 0 auto; padding: 0 clamp(18px, 4vw, 64px); }
.mm-ufilter-panel {
    background: var(--mm-surface);
    border: 1px solid var(--mm-line);
    border-radius: 8px;
    box-shadow: var(--mm-shadow-card);
    overflow: hidden;
}
.mm-uf-citytabs {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 0 10px;
    border-bottom: 1px solid var(--mm-line);
    overflow-x: auto;
}
.mm-uf-tab {
    border: none;
    background: transparent;
    padding: 15px 14px;
    font-size: 14px;
    font-weight: 700;
    color: var(--mm-muted);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    flex-shrink: 0;
    cursor: pointer;
}
.mm-uf-tab.is-active { color: var(--mm-ink); border-bottom-color: var(--mm-gold); }
.mm-uf-tab-count { font-size: 12px; font-weight: 600; opacity: .55; font-variant-numeric: tabular-nums; }

.mm-uf-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 18px; }
.mm-uf-row-secondary { gap: 18px 26px; padding: 0 18px 16px; }
.mm-uf-row-districts { align-items: flex-start; padding: 0 18px 16px; gap: 10px; }
.mm-uf-field { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mm-uf-label { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--mm-muted); }
.mm-uf-label-top { padding-top: 8px; flex-shrink: 0; }
.mm-uf-chips { display: flex; gap: 7px; flex-wrap: wrap; }
.mm-uf-chips-wrap { flex: 1; }
.mm-uf-divider { width: 1px; height: 26px; background: var(--mm-line); }

.mm-uf-segment { display: inline-flex; background: var(--mm-paper-2); border-radius: 999px; padding: 3px; gap: 2px; }
.mm-uf-seg {
    border: none;
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 700;
    background: transparent;
    color: var(--mm-muted);
    line-height: 1.2;
    text-decoration: none;
    transition: background .16s ease, color .16s ease;
}
.mm-uf-seg.is-active { background: var(--mm-olive); color: var(--mm-paper); }

.mm-uf-chip {
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    background: var(--mm-surface);
    color: var(--mm-ink);
    font-size: 13px;
    font-weight: 700;
    padding: 8px 15px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}
.mm-uf-chip:hover { transform: translateY(-1px); border-color: var(--mm-gold); }
.mm-uf-chip.is-active { background: var(--mm-olive); color: var(--mm-paper); border-color: var(--mm-olive); }
.mm-uf-chip-count { font-size: 11px; font-weight: 600; opacity: .65; font-variant-numeric: tabular-nums; }
.mm-uf-district { font-weight: 600; padding: 7px 14px; }
.mm-uf-district-hidden { display: none; }
.mm-uf-bed { padding: 7px 15px; }

.mm-uf-more-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 44px;
    padding: 0 16px;
    background: var(--mm-paper);
    border: 1px solid var(--mm-line);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--mm-ink);
    cursor: pointer;
    margin-left: auto;
}
.mm-uf-more-toggle .mm-uf-caret { font-size: 10px; color: var(--mm-muted); transition: transform .16s ease; }
.mm-uf-more-toggle.is-open .mm-uf-caret { transform: rotate(180deg); }

.mm-uf-more {
    border-top: 1px solid var(--mm-line);
    background: var(--mm-paper);
    padding: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.mm-uf-select {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 42px;
    padding: 0 14px;
    background: var(--mm-surface);
    border: 1px solid var(--mm-line);
    border-radius: 6px;
}
.mm-uf-select select { border: none; background: transparent; font-size: 14px; font-weight: 600; color: var(--mm-ink); cursor: pointer; outline: none; }
.mm-uf-more-features { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; margin-top: 4px; }
.mm-uf-feature { font-size: 12.5px; font-weight: 600; padding: 7px 13px; }

.mm-uf-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid var(--mm-line);
    padding: 12px 18px;
}
.mm-uf-reset { border: none; background: transparent; color: var(--mm-muted); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.mm-uf-reset:hover { color: var(--mm-ink); }
.mm-uf-found { font-size: 13px; color: var(--mm-muted); }
.mm-uf-found strong { color: var(--mm-ink); font-variant-numeric: tabular-nums; }

@media (max-width: 640px) {
    .mm-uf-more-toggle { margin-left: 0; }
    .mm-uf-row-secondary .mm-uf-divider { display: none; }
}

/* ---------- Results head ---------- */
.mm-catalog-page .mm-listing-layout {
    max-width: 1500px;
    margin: 0 auto;
    padding: clamp(30px, 3vw, 44px) clamp(18px, 4vw, 64px) clamp(50px, 6vw, 90px);
    display: block;
}
.mm-catalog-page .mm-results-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin: 0 0 22px;
    border: none;
    padding: 0;
}
.mm-catalog-page .mm-results-head .mm-eyebrow { margin: 0 0 8px; }
.mm-catalog-page .mm-results-head h2 {
    font-family: var(--mm-serif);
    font-weight: 400;
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1;
    margin: 0;
    color: var(--mm-ink);
}
.mm-results-head-tools { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.mm-results-currency { display: flex; align-items: center; gap: 9px; }
.mm-results-currency .mm-currency-switcher,
.mm-results-currency .nlp-currency-switcher {
    display: inline-flex;
    background: var(--mm-surface);
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    overflow: hidden;
    gap: 0;
}
.mm-results-currency .nlp-curr-btn {
    border: none;
    background: transparent;
    color: var(--mm-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    padding: 7px 13px;
    border-radius: 0;
    line-height: 1;
    cursor: pointer;
}
.mm-results-currency .nlp-curr-btn.is-active { background: var(--mm-olive); color: var(--mm-paper); }
.mm-catalog-page .mm-results-sort { display: flex; align-items: center; gap: 8px; }
.mm-catalog-page .mm-results-sort label { font-size: 13px; color: var(--mm-muted); }
.mm-catalog-page .mm-results-sort select { border: none; background: transparent; font-size: 14px; font-weight: 600; color: var(--mm-ink); cursor: pointer; outline: none; }
.mm-map-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 15px;
    border-radius: 999px;
    border: 1px solid var(--mm-line);
    background: var(--mm-surface);
    color: var(--mm-ink);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.mm-map-toggle.is-active { background: var(--mm-olive); color: var(--mm-paper); border-color: var(--mm-olive); }

/* ---------- List + Map layout ---------- */
.mm-results-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 26px; align-items: start; }
.mm-catalog-page .mm-results-body .mm-card-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mm-results-map { display: none; flex-direction: column; border-radius: 8px; border: 1px solid var(--mm-line); overflow: hidden; box-shadow: var(--mm-shadow-card); background: #e7e0d3; }
.mm-map-on .mm-results-map { display: flex; }
.mm-catalog-map { flex: 1; width: 100%; min-height: 320px; }
.mm-catalog-map-caption { padding: 8px 12px; font-size: 12px; color: var(--mm-muted); background: var(--mm-surface); border-top: 1px solid var(--mm-line); }

@media (max-width: 1179px) {
    .mm-catalog-page .mm-results-body .mm-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 699px) {
    .mm-catalog-page .mm-results-body .mm-card-grid { grid-template-columns: 1fr; }
}
@media (min-width: 1180px) {
    .mm-map-on .mm-results-layout { grid-template-columns: clamp(460px, 38%, 620px) minmax(0, 1fr); }
    /* При карте — ОДНА стандартная карточка в колонке (требование владельца: не сужать). */
    .mm-map-on .mm-catalog-page .mm-results-body .mm-card-grid,
    .mm-catalog-page .mm-map-on .mm-results-body .mm-card-grid { grid-template-columns: minmax(0, 1fr); }
    .mm-map-on .mm-results-map { position: sticky; top: 88px; height: calc(100vh - 116px); min-height: 580px; }
}
@media (min-width: 1180px) and (max-width: 1319px) {
    .mm-map-on .mm-catalog-page .mm-results-body .mm-card-grid,
    .mm-catalog-page .mm-map-on .mm-results-body .mm-card-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1179px) {
    .mm-map-on .mm-results-map { height: 440px; }
    .mm-map-on .mm-catalog-page .mm-results-body .mm-card-grid,
    .mm-catalog-page .mm-map-on .mm-results-body .mm-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 759px) {
    .mm-map-on .mm-catalog-page .mm-results-body .mm-card-grid,
    .mm-catalog-page .mm-map-on .mm-results-body .mm-card-grid { grid-template-columns: 1fr; }
}

/* ---------- SEO links ---------- */
.mm-seo-links {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 clamp(18px, 4vw, 64px) clamp(40px, 5vw, 70px);
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    align-items: baseline;
    font-size: 13px;
    color: var(--mm-muted);
    line-height: 1.7;
}
.mm-seo-links-label { font-weight: 700; color: var(--mm-ink); }
.mm-seo-link { color: var(--mm-muted); border-bottom: 1px solid var(--mm-line); }
.mm-seo-link:hover { color: var(--mm-ink); border-bottom-color: var(--mm-gold); }
.mm-seo-sep { color: var(--mm-line); }

/* ---------- Footer slim ---------- */
.mm-footer .mm-footer-cols {
    display: grid;
    grid-template-columns: 1.3fr repeat(3, 1fr) 1fr;
    gap: 26px 32px;
    max-width: 1500px;
    margin: 0 auto;
    width: 100%;
}
.mm-footer .mm-brand-footer .mm-brand-text strong { font-family: var(--mm-serif); font-size: 22px; color: var(--mm-paper); font-weight: 600; }
.mm-footer .mm-brand-footer .mm-brand-text small { color: rgba(247, 243, 236, .6); font-size: 12px; }
.mm-footer-slim {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    max-width: 1500px;
    margin: 30px auto 0;
    padding-top: 24px;
    border-top: 1px solid rgba(247, 243, 236, .18);
    width: 100%;
}
.mm-footer-slim-brand { font-family: var(--mm-serif); font-size: 22px; color: var(--mm-paper); }
.mm-footer-slim-tagline { font-size: 13px; color: rgba(247, 243, 236, .72); }
.mm-footer-slim-trust { font-size: 13px; color: rgba(247, 243, 236, .5); display: inline-flex; gap: 6px; flex-wrap: wrap; }
.mm-footer-slim-trust a { color: rgba(247, 243, 236, .55); }
.mm-footer-slim-trust a:hover { color: var(--mm-paper); }
@media (max-width: 980px) {
    .mm-footer .mm-footer-cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .mm-footer .mm-footer-cols { grid-template-columns: 1fr; }
}

/* Footer container: stack cols + slim bar (override legacy grid) */
.mm-footer { display: block; padding: 46px clamp(18px, 4vw, 64px) 30px; }

/* =========================================================================
 * MontMari — PropertyCard + PartnerRequest final (design handoff 1.6 / 1.7)
 * ===================================================================== */

/* ---- Card: ID row + mini currency switcher ---- */
.mm-card-idrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.mm-card-idrow .mm-currency-switcher {
    display: inline-flex;
    gap: 4px;
    margin-left: auto;
}

.mm-card-idrow .mm-currency-switcher .nlp-curr-btn {
    min-height: 22px;
    padding: 0 7px;
    font-size: 10px;
    font-weight: 800;
}

/* ---- Card: price line ---- */
.mm-card-priceline {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-bottom: 12px;
}

.mm-card-priceline .mm-price-value {
    font-family: var(--mm-sans);
    font-size: 26px;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -.01em;
    font-variant-numeric: tabular-nums;
    color: var(--mm-ink);
    white-space: nowrap;
}

.mm-card-price-per {
    color: var(--mm-muted);
    font-size: 13px;
    font-weight: 700;
}

.mm-card h3 a {
    color: inherit;
}

/* ---- Card: highlight pills (paper-2 + gold dot) ---- */
.mm-card-highlights-compact .mm-highlight-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 29px;
    width: auto;
    padding: 0 11px;
    background: var(--mm-paper-2);
    border: none;
    border-radius: 999px;
}

.mm-card-highlights-compact .mm-highlight-pill::before {
    width: 6px;
    height: 6px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--mm-gold);
    content: "";
}

.mm-card-highlights-compact .mm-highlight-pill em {
    max-width: 160px;
    overflow: hidden;
    color: var(--mm-ink);
    font-size: 12px;
    font-style: normal;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mm-card-highlights-compact .mm-feature-more {
    background: var(--mm-paper-2);
    border: none;
}

@media (max-width: 420px) {
    .mm-catalog-card-grid .mm-fact-table,
    .mm-list-section .mm-fact-table,
    .mm-similar .mm-fact-table {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================================
 * PartnerRequest — партнёрский лид-блок (варианты card / end)
 * ===================================================================== */
.mm-partner-cta {
    background: var(--mm-olive);
    color: var(--mm-paper);
    border-radius: 8px;
    box-shadow: var(--mm-shadow-card);
}

.mm-partner-cta--card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 24px 22px;
}

.mm-partner-cta--end {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 32px;
    align-items: start;
    padding: 28px 30px;
}

.mm-partner-cta__intro {
    min-width: 0;
}

.mm-partner-cta__eyebrow {
    margin: 0 0 8px;
    color: var(--mm-gold);
    font-family: var(--mm-sans);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.mm-partner-cta__title {
    margin: 0 0 10px;
    color: var(--mm-paper);
    font-family: var(--mm-serif);
    font-weight: 500;
    line-height: 1.05;
}

.mm-partner-cta--card .mm-partner-cta__title {
    font-size: 24px;
}

.mm-partner-cta--end .mm-partner-cta__title {
    font-size: 30px;
}

.mm-partner-cta__text {
    margin: 0 0 18px;
    max-width: 46ch;
    color: rgba(247, 243, 236, .72);
    font-size: 14px;
    line-height: 1.55;
}

.mm-partner-cta__msg-label {
    margin: 0 0 9px;
    color: rgba(247, 243, 236, .62);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
}

.mm-partner-cta__messengers {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.mm-partner-cta__msg {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 15px 9px 10px;
    background: var(--mm-surface);
    color: var(--mm-ink);
    border: none;
    border-radius: 999px;
    font-family: var(--mm-sans);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease;
}

.mm-partner-cta__msg:hover,
.mm-partner-cta__msg:focus-visible {
    color: var(--mm-ink);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
}

/* Keep messenger-pill text dark on light surface (anchor MAX inherited paper from olive panel) */
.mm-partner-cta .mm-partner-cta__msg,
.mm-partner-cta .mm-partner-cta__msg:link,
.mm-partner-cta .mm-partner-cta__msg:visited { color: var(--mm-ink); }
.mm-partner-cta .mm-partner-cta__msg:hover,
.mm-partner-cta .mm-partner-cta__msg:focus-visible { color: var(--mm-ink); }

.mm-partner-cta__msg svg {
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
}

.mm-partner-cta__max {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

/* Form */
.mm-partner-cta__form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.mm-partner-cta__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.mm-partner-cta__field--row {
    flex-direction: row;
    gap: 8px;
}

.mm-partner-cta__label {
    color: rgba(247, 243, 236, .7);
    font-size: 12px;
    font-weight: 700;
}

.mm-partner-cta__textarea,
.mm-partner-cta__input {
    width: 100%;
    border: 1px solid rgba(247, 243, 236, .24);
    border-radius: 6px;
    background: rgba(247, 243, 236, .06);
    color: var(--mm-paper);
    font-family: var(--mm-sans);
    font-size: 14px;
    outline: none;
    transition: border-color .16s ease, background-color .16s ease;
}

.mm-partner-cta__textarea {
    resize: vertical;
    min-height: 84px;
    padding: 12px 14px;
    line-height: 1.5;
}

.mm-partner-cta__input {
    flex: 1;
    min-width: 0;
    height: 46px;
    padding: 0 14px;
}

.mm-partner-cta__textarea::placeholder,
.mm-partner-cta__input::placeholder {
    color: rgba(247, 243, 236, .5);
}

.mm-partner-cta__textarea:focus,
.mm-partner-cta__input:focus {
    border-color: rgba(247, 243, 236, .5);
    background: rgba(247, 243, 236, .1);
}

.mm-partner-cta__submit {
    flex: 0 0 auto;
    height: 46px;
    padding: 0 20px;
    border: none;
    border-radius: 5px;
    background: var(--mm-gold);
    color: #171911;
    font-family: var(--mm-sans);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.mm-partner-cta__submit:hover,
.mm-partner-cta__submit:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(0, 0, 0, .24);
    filter: brightness(1.04);
}

.mm-partner-cta__submit:disabled {
    opacity: .6;
    cursor: default;
    transform: none;
    box-shadow: none;
}

.mm-partner-cta__agree {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: rgba(247, 243, 236, .55);
    font-size: 11.5px;
    line-height: 1.4;
}

.mm-partner-cta__agree input {
    margin-top: 2px;
    accent-color: var(--mm-gold);
}

.mm-partner-cta__agree a {
    color: var(--mm-gold);
}

.mm-partner-cta__status {
    margin: 0;
    color: var(--mm-gold);
    font-size: 12px;
    font-weight: 600;
}

@media (max-width: 720px) {
    .mm-partner-cta--end {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 24px 22px;
    }

    .mm-partner-cta--end .mm-partner-cta__title {
        font-size: 26px;
    }
}

@media (max-width: 480px) {
    .mm-partner-cta__field--row {
        flex-direction: column;
    }

    .mm-partner-cta__submit {
        width: 100%;
    }
}

/* Cloaked messenger links (wa.me / t.me) are rewritten to <button data-mm-msg>.
   The theme's button[data-mm-msg] reset (higher specificity) strips our pill
   look — re-apply it here at matching specificity. MAX stays an <a>. */
button[data-mm-msg].mm-partner-cta__msg {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 15px 9px 10px;
    background: var(--mm-surface);
    color: var(--mm-ink);
    border-radius: 999px;
    font-family: var(--mm-sans);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease;
}

button[data-mm-msg].mm-partner-cta__msg:hover,
button[data-mm-msg].mm-partner-cta__msg:focus-visible {
    background: var(--mm-surface);
    color: var(--mm-ink);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
}

/* SEO-chips: ссылки-чипы (<a>) выглядят как обычные чипы/вкладки, без подчёркивания. */
a.mm-uf-chip, a.mm-uf-chip:hover, a.mm-uf-chip:focus,
a.mm-uf-tab, a.mm-uf-tab:hover, a.mm-uf-tab:focus { text-decoration: none; }
a.mm-uf-chip, a.mm-uf-tab { color: var(--mm-ink); }
a.mm-uf-chip.is-active { color: var(--mm-paper); }
a.mm-uf-tab.is-active { color: var(--mm-ink); }


/* --- Десктоп-правки фильтра (районы×3, «Ещё фильтры» в подвале, карта 2/3) --- */
.mm-uf-district-extra { display: none; }
.mm-uf-districts-more {
    display: inline-flex; align-items: center; gap: 6px;
    background: none; border: 0; cursor: pointer;
    font: 700 13px/1 var(--mm-sans); color: var(--mm-muted);
    padding: 8px 6px; border-radius: 6px;
    text-decoration: underline; text-underline-offset: 3px;
}
.mm-uf-districts-more:hover { color: var(--mm-ink); }
.mm-uf-districts-more .mm-uf-caret { font-size: 10px; transition: transform .16s ease; }
.mm-uf-districts-more.is-open .mm-uf-caret { transform: rotate(180deg); }
.mm-uf-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px 18px; flex-wrap: wrap; }
.mm-uf-foot-left { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.mm-uf-foot .mm-uf-more-toggle { margin-left: auto; }
/* Карта 2/3: карточки при карте — одна колонка на всех ширинах */
@media (min-width: 1180px) {
    .mm-map-on .mm-results-body .mm-card-grid { grid-template-columns: minmax(0, 1fr); }
}
.mm-stat-value { white-space: nowrap; font-size: clamp(20px, 1.8vw, 30px); }

/* ===== Места v2: моно-иконки, «до моря», карта, разводящие ===== */
.mm-poi-ic{ display:inline-flex; width:20px; height:20px; color:var(--mm-gold,#ad8b51); vertical-align:-4px; flex:0 0 auto; }
.mm-poi-ic svg{ width:100%; height:100%; display:block; }
.mm-poi-cat-title{ display:flex; align-items:center; gap:9px; }
.mm-poi-sea{ display:flex; align-items:center; gap:9px; margin:10px 0 0; font:400 15px var(--mm-sans); color:var(--mm-ink,#20241f); }
.mm-poi-sea strong{ font-weight:700; }
.mm-poi-sea em{ font-style:normal; font-size:12.5px; color:var(--mm-muted,#6d7169); }

/* Leaflet-карта объекта */
.mm-map-frame-leaflet{ height:440px; border-radius:10px; overflow:hidden; position:relative; z-index:0; }
.mm-map-frame-leaflet .leaflet-container{ width:100%; height:100%; font-family:var(--mm-sans); }
.mm-map-home span{ display:block; width:34px; height:34px; border-radius:50%; background:var(--mm-gold,#ad8b51); border:3px solid #fff; box-shadow:0 4px 14px rgba(0,0,0,.35); }
.mm-map-poi{ display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:#fff; color:var(--mm-gold,#ad8b51); border:1px solid var(--mm-line,rgba(32,36,31,.14)); box-shadow:0 3px 10px rgba(0,0,0,.22); }
.mm-map-poi svg{ width:17px; height:17px; }
.mm-map-pop{ display:grid; gap:3px; font-family:var(--mm-sans); min-width:150px; }
.mm-map-pop em{ font-style:normal; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--mm-muted,#6d7169); }
.mm-map-pop strong{ font-size:14px; color:var(--mm-ink,#20241f); }
.mm-map-pop span{ font-size:12.5px; color:var(--mm-muted,#6d7169); }
.mm-map-pop a{ font-weight:700; color:var(--mm-gold,#ad8b51); text-decoration:none; }

/* Разводящие страницы мест */
.mm-places-hero{ padding:clamp(46px,6vw,84px) calc(max(0px, (100% - 1200px) / 2) + 6vw) clamp(28px,3vw,44px); background:var(--mm-olive,#18231d); color:var(--mm-paper,#f7f3ec); }
.mm-places-hero h1{ margin:6px 0 12px; font-family:var(--mm-serif); font-weight:400; font-size:clamp(30px,4.4vw,52px); line-height:1.04; }
.mm-places-lead{ max-width:640px; margin:0 0 18px; color:rgba(247,243,236,.75); font:400 15.5px/1.6 var(--mm-sans); }
.mm-places-typenav{ display:flex; flex-wrap:wrap; gap:10px; }
.mm-places-typenav a{ display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; border:1px solid rgba(255,255,255,.22); color:var(--mm-paper,#f7f3ec); background:rgba(255,255,255,.05); font:600 13.5px var(--mm-sans); text-decoration:none; transition:border-color .2s, background .2s; }
.mm-places-typenav a:hover{ border-color:var(--mm-gold,#ad8b51); background:rgba(173,139,81,.14); }
.mm-places-type-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.mm-places-type-head h2{ display:flex; align-items:center; gap:11px; margin:0; }
.mm-places-type-head .mm-poi-ic{ width:24px; height:24px; }
.mm-places-type-link{ font:600 13.5px var(--mm-sans); color:var(--mm-gold,#ad8b51); text-decoration:none; }
.mm-places-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:18px; }
.mm-places-card{ display:grid; gap:8px; text-decoration:none; color:var(--mm-ink,#20241f); background:var(--mm-surface,#fbfaf6); border:1px solid var(--mm-line,rgba(32,36,31,.14)); border-radius:10px; overflow:hidden; padding-bottom:14px; transition:box-shadow .2s, transform .15s; }
.mm-places-card:hover{ box-shadow:0 12px 30px rgba(0,0,0,.12); transform:translateY(-2px); }
.mm-places-card-photo{ display:block; height:150px; background-size:cover; background-position:center; background-color:var(--mm-paper-2,#efe9de); }
.mm-places-card-ico{ display:flex; align-items:center; justify-content:center; }
.mm-places-card-ico .mm-poi-ic{ width:38px; height:38px; opacity:.55; }
.mm-places-card-name{ padding:4px 14px 0; font:600 15.5px/1.35 var(--mm-sans); }
.mm-places-card-desc{ padding:0 14px; font:400 13px/1.5 var(--mm-sans); color:var(--mm-muted,#6d7169); }
.mm-place-crumbs{ margin:0 0 10px; font:400 13px var(--mm-sans); }
.mm-place-crumbs a{ color:rgba(247,243,236,.8); text-decoration:none; }
.mm-place-crumbs a:hover{ color:#fff; }
.mm-place-badge .mm-poi-ic{ color:currentColor; }
@media (max-width:768px){
  .mm-map-frame-leaflet{ height:340px; }
  .mm-places-grid{ grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; }
  .mm-places-card-photo{ height:110px; }
}

/* «Что рядом»: мобильный компакт */
.mm-poi-km em{ font-style:normal; font-weight:400; font-size:12px; color:var(--mm-muted,#6d7169); }
.mm-poi-mode-s{ display:none; }
@media (max-width:640px){
  .mm-poi-grid{ grid-template-columns:1fr; gap:12px; }
  .mm-poi-list li{ gap:8px; }
  .mm-poi-name{ min-width:0; overflow-wrap:anywhere; }
  .mm-poi-mode-f{ display:none; }
  .mm-poi-mode-s{ display:inline; }
  .mm-poi-sea{ flex-wrap:wrap; row-gap:2px; }
  .mm-poi-sea-note{ display:none; }
}

/* Мобильное меню: поверх хедера + крестик закрытия */
.mm-mobile-backdrop{ z-index:1101 !important; }
.mm-mobile-drawer{ z-index:1102 !important; }
.mm-drawer-close{ position:absolute; top:10px; right:12px; width:40px; height:40px; border:none; background:none; font-size:30px; line-height:1; color:#1a1a1a; cursor:pointer; padding:0; }
.mm-mobile-drawer{ padding-top:56px !important; }

/* Фикс: aspect-ratio родного .mm-map-frame при фикс. высоте распирал ширину (473px на мобиле) */
.mm-map-frame-leaflet{ aspect-ratio:auto !important; width:100% !important; }
.mm-property-main{ min-width:0; }

/* ============================================================= */
/* Компактный десктоп-фильтр (редизайн «Компактизация фильтров») */
/* ============================================================= */
.mm-ufilter-panel { overflow: visible; }

.mm-uf-bar { display: flex; align-items: center; gap: 10px; padding: 16px 22px; flex-wrap: wrap; }

.mm-uf-dd { position: relative; }
.mm-uf-ddbtn {
    cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
    border-radius: 5px; padding: 10px 14px;
    font: 600 12.5px Inter, sans-serif;
    border: 1px solid rgba(32, 36, 31, .2);
    background: var(--mm-surface); color: var(--mm-ink);
    transition: background .16s ease, border-color .16s ease;
}
.mm-uf-ddval { font: 600 12.5px Inter, sans-serif; color: var(--mm-ink); }
.mm-uf-ddcaret { font-size: 10px; color: var(--mm-muted); line-height: 1; transition: transform .16s ease; }
.mm-uf-ddbtn.is-chosen { border-color: #18231d; background: #f0ebe0; }
.mm-uf-ddbtn.is-chosen .mm-uf-ddval { color: var(--mm-gold); font-weight: 700; }
.mm-uf-dd.is-open .mm-uf-ddcaret { transform: rotate(180deg); }

.mm-uf-ddmenu {
    position: absolute; top: calc(100% + 8px); left: 0; z-index: 30;
    background: var(--mm-surface); border: 1px solid var(--mm-line); border-radius: 8px;
    box-shadow: var(--mm-shadow); padding: 14px;
}
.mm-uf-ddmenu[hidden] { display: none; }
.mm-uf-dd-right .mm-uf-ddmenu { left: auto; right: 0; }
.mm-uf-ddmenu-loc { width: 540px; max-width: min(540px, calc(100vw - 60px)); }
.mm-uf-ddmenu-loc .mm-uf-citytabs { gap: 22px; padding: 0; margin-bottom: 12px; overflow-x: auto; }
.mm-uf-ddmenu-loc .mm-uf-tab { padding: 2px 1px 9px; font-size: 14px; }
.mm-uf-ddmenu-type { min-width: 250px; padding: 10px; display: flex; flex-direction: column; gap: 2px; }
.mm-uf-ddmenu-beds { min-width: 230px; }
.mm-uf-ddmenu-price { width: 380px; max-width: calc(100vw - 48px); padding: 16px; }

.mm-uf-opt {
    display: flex; justify-content: space-between; gap: 14px; align-items: center;
    text-align: left; border: 0; border-radius: 5px; padding: 9px 11px;
    font: 500 13px Inter, sans-serif; color: var(--mm-ink); background: transparent; text-decoration: none;
}
.mm-uf-opt:hover { background: var(--mm-paper-2); color: var(--mm-ink); }
.mm-uf-opt.is-active { background: var(--mm-paper-2); font-weight: 700; }
.mm-uf-opt-count { font: 500 12px Inter, sans-serif; color: var(--mm-muted); }
.mm-uf-opt-note { font: 400 11px Inter, sans-serif; color: var(--mm-muted); padding: 8px 11px 4px; border-top: 1px solid var(--mm-line); margin: 6px 0 0; }

/* ==================================================================== */
/* Двойной ценовой слайдер (единый трек, две ручки, инпуты в млн ฿).     */
/* ==================================================================== */
.mm-uf-price2-sep { border-top: 1px solid var(--mm-line); margin: 14px 0 0; }
.mm-uf-price2 { padding-top: 14px; }
.mm-uf-price2-fields { display: flex; align-items: flex-end; gap: 10px; margin-bottom: 18px; }
.mm-uf-price2-field { display: flex; flex-direction: column; gap: 5px; flex: 1; min-width: 0; }
.mm-uf-price2-cap { font: 800 10px Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--mm-muted); }
.mm-uf-price2-inwrap {
    display: flex; align-items: baseline; gap: 5px;
    border: 1px solid var(--mm-line); border-radius: 7px; padding: 8px 10px;
    background: var(--mm-paper); transition: border-color .15s ease;
}
.mm-uf-price2-inwrap:focus-within { border-color: var(--mm-gold); }
.mm-uf-price2-input {
    flex: 1; min-width: 0; width: 100%; border: 0; padding: 0; margin: 0; background: transparent;
    font: 700 15px Inter, sans-serif; color: var(--mm-ink); outline: none;
    -moz-appearance: textfield;
}
.mm-uf-price2-input::-webkit-outer-spin-button,
.mm-uf-price2-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mm-uf-price2-unit { font: 600 11px Inter, sans-serif; color: var(--mm-muted); white-space: nowrap; }
.mm-uf-price2-plus { display: none; color: var(--mm-gold); font-weight: 800; }
.mm-uf-price2.is-max-open .mm-uf-price2-plus { display: inline; }
.mm-uf-price2-dash { color: var(--mm-muted); padding-bottom: 9px; }

.mm-uf-price2-slider { position: relative; padding: 0 10px; }
.mm-uf-price2-track {
    position: relative; height: 5px; border-radius: 999px; background: var(--mm-line);
    margin: 4px 0 6px; touch-action: none;
}
.mm-uf-price2-fill {
    position: absolute; top: 0; bottom: 0; border-radius: 999px;
    background: var(--mm-gold);
}
.mm-uf-price2-handle {
    position: absolute; top: 50%; width: 19px; height: 19px; margin: 0; padding: 0;
    transform: translate(-50%, -50%); border-radius: 50%;
    background: var(--mm-gold); border: 2px solid #fff; cursor: grab;
    box-shadow: 0 1px 4px rgba(24, 35, 29, .28); touch-action: none; z-index: 2;
}
.mm-uf-price2-handle::before {
    /* Расширенная тач-зона ≥44px без визуального увеличения. */
    content: ''; position: absolute; top: 50%; left: 50%;
    width: 44px; height: 44px; transform: translate(-50%, -50%);
}
.mm-uf-price2-handle-max { z-index: 3; }
.mm-uf-price2-handle:hover { background: #c19c5b; }
.mm-uf-price2-handle:focus-visible { outline: 2px solid var(--mm-ink); outline-offset: 2px; }
.mm-uf-price2-handle.is-dragging { cursor: grabbing; box-shadow: 0 2px 8px rgba(24, 35, 29, .38); }

.mm-uf-price2-scale { position: relative; height: 16px; margin-top: 6px; }
.mm-uf-price2-tick {
    position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap;
    font: 600 10px Inter, sans-serif; color: var(--mm-muted);
}
.mm-uf-price2-tick:first-child { transform: translateX(0); }
.mm-uf-price2-tick.is-last { transform: translateX(-100%); }
.mm-uf-price2-note { font: 400 11px Inter, sans-serif; color: var(--mm-muted); margin: 12px 0 0; line-height: 1.4; }

/* Полоса «Диапазон» в панели «Все фильтры»: слайдер занимает свою колонку. */
.mm-uf-band-range .mm-uf-price2 { padding-top: 0; flex: 1; min-width: 260px; }
.mm-uf-band-range .mm-uf-price2-note { display: none; }
.mm-uf-band-range .mm-uf-price2-fields { margin-bottom: 12px; }

.mm-uf-allbtn {
    cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
    border: 0; border-radius: 5px; padding: 11px 16px;
    background: var(--mm-olive); color: var(--mm-paper);
    font: 800 11px Inter, sans-serif; letter-spacing: .06em; text-transform: uppercase;
    transition: background .16s ease;
}
.mm-uf-allbtn:hover { background: var(--mm-olive-2); }
.mm-uf-allbadge { font-weight: 800; }
.mm-uf-allcaret { font-size: 10px; color: #c9b58c; line-height: 1; transition: transform .16s ease; }
.mm-uf-allbtn.is-open .mm-uf-allcaret { transform: rotate(180deg); }

.mm-uf-panel { border-top: 1px solid var(--mm-line); }
.mm-uf-panel[hidden] { display: none; }
.mm-uf-panel-cities { padding: 0 22px; gap: 26px; }
.mm-uf-panel-cities .mm-uf-tab { padding: 14px 1px 12px; }
.mm-uf-panel-main { display: flex; flex-direction: column; gap: 14px; padding: 16px 22px 18px; }
.mm-uf-panel-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.mm-uf-panel-row-districts { align-items: flex-start; }
.mm-uf-caplabel { font: 800 11px Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--mm-muted); white-space: nowrap; }
.mm-uf-caplabel-top { padding-top: 11px; flex-shrink: 0; }

.mm-uf-panel-band { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; padding: 14px 22px; border-top: 1px solid var(--mm-line); background: var(--mm-paper); }
.mm-uf-band-group { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mm-uf-band-range { min-width: 300px; flex: 1; max-width: 460px; }
.mm-uf-range-lbl { font: 600 12px Inter, sans-serif; color: var(--mm-muted); white-space: nowrap; }
.mm-uf-range-lbl b { color: var(--mm-ink); }

.mm-uf-panel-feats { display: flex; align-items: flex-start; gap: 12px; padding: 14px 22px 18px; border-top: 1px solid var(--mm-line); }
.mm-uf-panel-feats .mm-uf-chips { flex: 1; }
.mm-uf-feat-ico { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; color: var(--mm-gold); flex-shrink: 0; }
.mm-uf-feat-ico svg, .mm-uf-feat-ico img { width: 15px; height: 15px; }
.mm-uf-feat-ico i { font-size: 14px; line-height: 1; }
.mm-uf-chip.is-active .mm-uf-feat-ico { color: #c9b58c; }
.mm-uf-panel-collapse { cursor: pointer; border: 0; background: none; padding: 10px 0 0; font: 600 13px Inter, sans-serif; color: var(--mm-muted); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.mm-uf-panel-collapse:hover { color: var(--mm-ink); }

.mm-uf-chip.is-active .mm-uf-chip-count { color: #c9b58c; opacity: 1; }

.mm-uf-active { display: flex; align-items: center; gap: 8px; padding: 0 22px 14px; flex-wrap: wrap; }
.mm-uf-active[hidden] { display: none; }
.mm-uf-active-chip { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; padding: 7px 12px; font: 600 12.5px Inter, sans-serif; background: var(--mm-olive); color: var(--mm-paper); }
.mm-uf-active-x { cursor: pointer; border: 0; background: none; color: var(--mm-gold); font-size: 15px; line-height: 1; padding: 0; text-decoration: none; }
.mm-uf-active-x:hover { color: #c9b58c; }
.mm-uf-active-reset { cursor: pointer; border: 0; background: none; padding: 0 4px; font: 600 13px Inter, sans-serif; color: var(--mm-muted); text-decoration: underline; text-underline-offset: 3px; }
.mm-uf-active-reset:hover { color: var(--mm-ink); }

.mm-uf-toolbar { display: flex; align-items: center; gap: 18px; padding: 11px 22px; border-top: 1px solid var(--mm-line); background: var(--mm-paper); border-radius: 0 0 8px 8px; flex-wrap: wrap; }
.mm-uf-count { font-family: var(--mm-serif); font-weight: 400; font-size: 26px; line-height: 1; color: var(--mm-ink); font-variant-numeric: normal; }
.mm-uf-toolbar-spacer { flex: 1; }
.mm-uf-toolbar-currency { display: inline-flex; }
.mm-uf-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mm-uf-toolbar-sort { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(32, 36, 31, .2); background: var(--mm-surface); border-radius: 5px; padding: 9px 13px; }
.mm-uf-toolbar-sort select { border: 0; background: transparent; font: 700 12px Inter, sans-serif; color: var(--mm-ink); cursor: pointer; outline: none; height: auto; min-height: 0; padding: 0; margin: 0; line-height: 1.2; box-shadow: none; }
.mm-uf-toolbar-sort .mm-results-sort-go { display: none; }
.mm-uf-toolbar-map {
    height: auto; border: 0; border-radius: 5px; padding: 10px 16px;
    background: var(--mm-olive); color: var(--mm-paper);
    font: 800 11px Inter, sans-serif; letter-spacing: .06em; text-transform: uppercase;
    transition: background .16s ease;
}
.mm-uf-toolbar-map:hover { background: var(--mm-olive-2); }
.mm-uf-toolbar-map.is-active { background: var(--mm-gold); color: var(--mm-paper); border-color: var(--mm-gold); }

@media (max-width: 760px) {
    .mm-uf-toolbar-spacer { display: none; }
    .mm-uf-toolbar { gap: 12px; }
}

/* ============================================================
   МОБИЛЬНАЯ КОМПАКТИЗАЦИЯ ФИЛЬТРОВ + ШАПКА (хендофф «3. Мобильная»)
   Узлы существуют всегда; десктоп их прячет, ≤760px разворачивает.
   ============================================================ */

/* Десктоп: спрятать мобильные узлы */
.mm-header-mobile-actions,
.mm-header-chat,
.mm-burger-badge,
.mm-uf-mbar,
.mm-uf-mreset,
.mm-uf-msheet-head,
.mm-uf-msheet-foot,
.mm-map-pill { display: none; }
.mm-uf-msheet-scroll { display: contents; }
.mm-map-fs,
.mm-map-fs[hidden] { display: none; }

@keyframes mm-sheet-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes mm-sheet-fade { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 760px) {

    /* ---------- Шапка: один ряд ---------- */
    .mm-header-mobile-actions { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; margin-left: auto; }
    .mm-header-chat { display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 999px; background: var(--mm-olive); color: var(--mm-paper); cursor: pointer; flex: none; padding: 0; }
    .mm-header .mm-brand-mark { width: 38px; height: 38px; font-size: 18px; }
    .mm-header .mm-brand { gap: 10px; min-width: 0; }
    .mm-header .mm-brand strong { font-size: 17px; letter-spacing: .06em; }
    .mm-header .mm-brand small { display: block; font-size: 9px; letter-spacing: .07em; white-space: nowrap; }

    .mm-burger { position: relative; }
    .mm-burger-badge { display: none; position: absolute; top: -6px; right: -6px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; background: var(--mm-gold); color: #171911; font: 800 10px/17px Inter, sans-serif; font-style: normal; text-align: center; }
    .mm-burger-badge.is-visible { display: block; }

    /* ---------- Drawer (меню) ---------- */
    .mm-mobile-drawer { width: 78%; max-width: 360px; padding: 16px 20px calc(20px + env(safe-area-inset-bottom)); background: var(--mm-paper); box-shadow: -24px 0 70px rgba(26,31,24,.2); gap: 0; }
    .mm-mobile-backdrop { background: rgba(15,22,18,.4); }
    .mm-drawer-top { display: flex; align-items: center; justify-content: space-between; flex: none; }
    .mm-drawer-mark { width: 34px; height: 34px; border-radius: 50%; overflow: hidden; background: #021738; display: inline-block; position: relative; flex: none; }
    .mm-drawer-mark img { position: absolute; top: 11%; left: 11%; width: 78%; height: 78%; object-fit: contain; }
    .mm-drawer-close { border: 0; background: none; font-size: 22px; line-height: 1; color: var(--mm-ink); padding: 4px; cursor: pointer; }
    .mm-drawer-nav { display: flex; flex-direction: column; margin-top: 16px; }
    .mm-drawer-link { display: block; padding: 12px 0; font-family: var(--mm-serif); font-size: 22px; font-weight: 400; color: var(--mm-ink); text-decoration: none; border-bottom: 1px solid rgba(32,36,31,.1); }
    .mm-drawer-nav .mm-drawer-link:last-child { border-bottom: 0; }
    .mm-drawer-collections { display: flex; flex-direction: column; gap: 2px; border-top: 1px solid var(--mm-line); margin-top: 8px; padding-top: 12px; }
    .mm-drawer-coll { display: flex; align-items: center; gap: 10px; padding: 10px 0; font: 600 14px Inter, sans-serif; color: var(--mm-ink); text-decoration: none; }
    .mm-drawer-coll-ico { font-size: 16px; }
    .mm-drawer-coll-badge { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; background: var(--mm-gold); color: #171911; border-radius: 999px; font: 800 11px/20px Inter, sans-serif; text-align: center; }
    .mm-drawer-coll-badge:empty { display: none; }
    .mm-drawer-lang { display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--mm-line); margin-top: 10px; padding-top: 16px; }
    .mm-drawer-lang-label { font: 800 11px Inter, sans-serif; letter-spacing: .1em; color: var(--mm-muted); }
    .mm-drawer-lang .mm-lang-switch { display: inline-flex; border: 1px solid rgba(32,36,31,.2); border-radius: 999px; overflow: hidden; }
    .mm-drawer-lang .mm-lang { padding: 7px 13px; font: 800 11px Inter, sans-serif; color: var(--mm-muted); text-decoration: none; }
    .mm-drawer-lang .mm-lang.is-active { background: var(--mm-olive); color: #fff; }
    .mm-drawer-foot { margin-top: auto; display: flex; flex-direction: column; gap: 8px; padding-top: 20px; }
    .mm-drawer-wa, .mm-drawer-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 6px; font: 800 12px Inter, sans-serif; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; cursor: pointer; width: 100%; }
    .mm-drawer-wa { background: var(--mm-olive); color: #fff; border: 0; }
    .mm-drawer-cta { background: var(--mm-surface); color: var(--mm-ink); border: 1px solid rgba(32,36,31,.2); }

    /* ---------- Фильтры: мобильный бар v2 ---------- */
    .mm-ufilter { padding: 0 12px; }
    /* Не прячем .mm-uf-bar через display:none: тогда fixed-шторки loc/price,
       лежащие внутри .mm-uf-bar → .mm-uf-dd, не отрисовываются сквозь скрытого
       родителя (display:none вырезает всё поддерево). display:contents схлопывает
       обёртки без собственного бокса, а видимые кнопки бара прячем отдельно. */
    .mm-uf-bar,
    .mm-uf-dd { display: contents; }
    .mm-uf-ddbtn,
    .mm-uf-allbtn { display: none; }
    .mm-uf-active { display: none; }
    .mm-uf-mbar { display: flex; align-items: stretch; gap: 8px; padding: 12px 12px 10px; }
    .mm-uf-mchip { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; border-radius: 999px; padding: 10px 12px; border: 1px solid rgba(32,36,31,.2); background: var(--mm-surface); font: 600 12.5px Inter, sans-serif; color: var(--mm-ink); white-space: nowrap; cursor: pointer; min-width: 0; }
    .mm-uf-mchip .mm-uf-mchip-val { font: 600 12px Inter, sans-serif; color: var(--mm-gold); overflow: hidden; text-overflow: ellipsis; }
    .mm-uf-mchip .mm-uf-mchip-val:empty { display: none; }
    .mm-uf-mchip.is-chosen { background: #f0ebe0; border-color: var(--mm-olive); font-weight: 700; }
    /* Лок-чип: имя выбранной локации + живой счётчик, во всю доступную ширину. */
    .mm-uf-mchip-loc { flex: 1 1 auto; justify-content: flex-start; }
    .mm-uf-mchip-loctext { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
    .mm-uf-mchip-all { flex: 0 0 auto; border: 0; background: var(--mm-olive); color: var(--mm-paper); font: 800 11px Inter, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
    .mm-uf-mchip-all .mm-uf-mchip-badge { font-weight: 800; }
    /* Круглый сброс всего — только при активных фильтрах (toggle через [hidden]). */
    .mm-uf-mchip-x { flex: 0 0 auto; width: 44px; min-width: 44px; height: auto; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border-radius: 999px; border: 1px solid rgba(32,36,31,.2); background: var(--mm-surface); color: var(--mm-muted); font-size: 22px; line-height: 1; cursor: pointer; }
    .mm-uf-mchip-x[hidden] { display: none; }
    .mm-uf-mchip-x:active { background: var(--mm-olive); color: var(--mm-paper); border-color: var(--mm-olive); }

    .mm-uf-mreset { display: inline-flex; border: 0; background: none; padding: 0; font: 600 12px Inter, sans-serif; color: var(--mm-muted); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
    /* Тулбар на мобиле: счётчик и текстовый «Сбросить» убраны (счётчик — в лок-чипе,
       сброс — в круглой ✕), остаются валюта + сортировка в одну строку. */
    .mm-uf-toolbar { gap: 10px 12px; padding: 2px 12px 12px; border-top: 0; justify-content: space-between; }
    .mm-uf-count,
    .mm-uf-toolbar .mm-uf-mreset { display: none; }
    .mm-uf-toolbar-map { display: none; }
    .mm-uf-toolbar-currency { margin-left: 0; }

    /* ---------- Шторки ---------- */
    body.mm-msheet-open, body.mm-mmap-open { overflow: hidden; }
    .mm-uf-msheet-scrim { position: fixed; inset: 0; z-index: 1400; background: rgba(15,22,18,.4); animation: mm-sheet-fade .25s ease; }

    .mm-ufilter[data-mm-sheet="loc"] .mm-uf-ddmenu-loc,
    .mm-ufilter[data-mm-sheet="price"] .mm-uf-ddmenu-price,
    .mm-ufilter[data-mm-sheet="all"] .mm-uf-panel {
        display: block !important;
        position: fixed; left: 0; right: 0; bottom: 0; top: auto;
        width: auto; max-width: none; min-width: 0; max-height: 82vh; margin: 0;
        z-index: 1401; background: var(--mm-surface);
        border: 0; border-radius: 14px 14px 0 0;
        box-shadow: 0 -24px 70px rgba(26,31,24,.2);
        padding: 0; overflow-y: auto; -webkit-overflow-scrolling: touch;
        animation: mm-sheet-up .32s ease;
    }
    .mm-ufilter[data-mm-sheet] .mm-uf-msheet-head { display: block; position: sticky; top: 0; z-index: 3; background: var(--mm-surface); padding: 12px 16px 8px; }
    .mm-uf-msheet-head::before { content: ''; display: block; width: 40px; height: 4px; border-radius: 999px; background: rgba(32,36,31,.18); margin: 0 auto 12px; }
    .mm-uf-msheet-title { font: 800 11px Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--mm-gold); }
    .mm-ufilter[data-mm-sheet] .mm-uf-msheet-scroll { display: block; padding: 4px 16px 8px; }
    .mm-ufilter[data-mm-sheet] .mm-uf-msheet-foot { display: block; position: sticky; bottom: 0; z-index: 3; background: var(--mm-surface); border-top: 1px solid var(--mm-line); padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
    .mm-uf-msheet-apply { width: 100%; min-height: 48px; border: 0; border-radius: 8px; background: var(--mm-olive); color: var(--mm-paper); font: 800 13px Inter, sans-serif; letter-spacing: .04em; cursor: pointer; }
    .mm-ufilter[data-mm-sheet="all"] .mm-uf-panel-cities { padding: 0 16px; overflow-x: auto; }
    .mm-ufilter[data-mm-sheet="all"] .mm-uf-panel-main { padding: 12px 16px; }
    .mm-ufilter[data-mm-sheet="all"] .mm-uf-panel-band { padding: 12px 16px; gap: 14px; }
    .mm-ufilter[data-mm-sheet="all"] .mm-uf-panel-feats { padding: 12px 16px 16px; }
    .mm-ufilter[data-mm-sheet="all"] .mm-uf-panel-collapse { display: none; }
    .mm-uf-ddmenu-loc .mm-uf-citytabs { margin-bottom: 12px; }

    /* ---------- Пилюля карты ---------- */
    .mm-map-pill { display: inline-flex; align-items: center; gap: 9px; position: fixed; left: 50%; bottom: calc(18px + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 900; border: 0; border-radius: 999px; padding: 13px 22px; background: var(--mm-olive); color: var(--mm-paper); font: 800 11px Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 10px 24px rgba(0,0,0,.16); cursor: pointer; }

    /* ---------- Полноэкранная карта ---------- */
    .mm-map-fs { display: flex; flex-direction: column; position: fixed; inset: 0; z-index: 1200; background: #e7e0d3; transform: translateY(100%); transition: transform .38s ease; }
    .mm-map-fs[hidden] { display: none; }
    .mm-map-fs.is-open { transform: translateY(0); }
    .mm-map-fs-bar { display: flex; align-items: center; gap: 10px; padding: calc(10px + env(safe-area-inset-top)) 16px 8px; }
    .mm-map-fs-back { display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(32,36,31,.2); border-radius: 999px; padding: 9px 15px; background: rgba(251,250,246,.96); font: 800 11px Inter, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--mm-ink); cursor: pointer; box-shadow: 0 10px 24px rgba(0,0,0,.12); }
    .mm-map-fs-count { margin-left: auto; border-radius: 999px; padding: 9px 14px; background: rgba(15,22,18,.72); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font: 600 12px Inter, sans-serif; color: var(--mm-paper); }
    .mm-map-fs-chips { display: flex; gap: 8px; padding: 2px 16px 6px; overflow-x: auto; }
    .mm-map-fs-chips .mm-uf-mchip { flex: none; background: rgba(251,250,246,.96); box-shadow: 0 10px 24px rgba(0,0,0,.08); }
    .mm-map-fs-chips .mm-uf-mchip-all { background: var(--mm-olive); }
    .mm-map-fs-canvas { flex: 1; width: 100%; min-height: 0; }
    .mm-map-fs-canvas .leaflet-container { font: inherit; background: #e8eae4; }
    .mm-map-fs-carousel { display: flex; gap: 12px; padding: 12px 16px calc(20px + env(safe-area-inset-bottom)); overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .mm-mmap-card { flex: none; width: 272px; display: flex; gap: 11px; background: var(--mm-surface); border: 1px solid var(--mm-line); border-radius: 8px; padding: 10px; box-shadow: 0 16px 42px rgba(28,33,25,.14); text-decoration: none; }
    .mm-mmap-card.is-active { border-color: var(--mm-olive); }
    .mm-mmap-card-thumb { flex: none; width: 80px; height: 74px; border-radius: 6px; background: var(--mm-paper-2) center/cover no-repeat; }
    .mm-mmap-card-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
    .mm-mmap-card-price { font: 900 14px Inter, sans-serif; font-variant-numeric: tabular-nums; color: var(--mm-ink); }
    .mm-mmap-card-title { font-family: var(--mm-serif); font-size: 14px; color: var(--mm-ink); line-height: 1.15; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

    .mm-leaflet-pin.is-active span { background: var(--mm-gold); color: #171911; }
}

@media (prefers-reduced-motion: reduce) {
    .mm-ufilter[data-mm-sheet="loc"] .mm-uf-ddmenu-loc,
    .mm-ufilter[data-mm-sheet="price"] .mm-uf-ddmenu-price,
    .mm-ufilter[data-mm-sheet="all"] .mm-uf-panel,
    .mm-uf-msheet-scrim { animation: none; }
    .mm-map-fs { transition: none; }
}
.mm-stat-cards .mm-stat-card:nth-child(odd):last-child { grid-column: 1 / -1; }


/* --- Мобильная шапка: одна строка (RU/EN, избранное, сравнение, Связаться — в бургер-меню) --- */
@media (max-width: 760px) {
    .mm-header .mm-header-actions { display: none; }
}
/* --- Кнопки бургер-меню: WhatsApp тёмная, Связаться чёрная заметная --- */
.mm-mobile-drawer .mm-drawer-foot { display: grid; gap: 10px; }
.mm-mobile-drawer .mm-drawer-wa,
.mm-mobile-drawer .mm-drawer-wa:visited {
    background: var(--mm-olive); color: var(--mm-paper); border: 0;
    min-height: 48px; display: flex; align-items: center; justify-content: center;
    border-radius: 8px; font: 800 12px Inter, sans-serif; letter-spacing: .05em; text-transform: uppercase;
    text-decoration: none;
}
.mm-mobile-drawer .mm-drawer-cta {
    background: var(--mm-ink); color: var(--mm-paper); border: 0;
    min-height: 48px; display: flex; align-items: center; justify-content: center;
    border-radius: 8px; font: 800 12px Inter, sans-serif; letter-spacing: .05em; text-transform: uppercase;
    cursor: pointer;
}
.mm-mobile-drawer .mm-drawer-wa:hover, .mm-mobile-drawer .mm-drawer-cta:hover { background: var(--mm-olive-2); color: var(--mm-paper); }
/* --- Leaflet: нейтральная атрибуция без флага (мы вне политики) --- */
.leaflet-attribution-flag { display: none !important; }

/* ฿ нет в Cormorant — фолбэк-шрифт выбивался размером; фиксируем Inter и посадку */
.mm-stat-value .mm-thb, .mm-stat-line .mm-thb {
    font-family: Inter, system-ui, sans-serif;
    font-size: .62em; font-weight: 600; line-height: 1;
    vertical-align: 6%; margin-left: 1px;
}

/* Мобильный тулбар: валюта + сортировка строго в одну строку
   (глушим легаси .mm-results-sort{width:100%} у формы с двойным классом) */
@media (max-width: 760px) {
    .mm-uf-toolbar { flex-wrap: nowrap; }
    .mm-uf-toolbar .mm-results-sort,
    .mm-uf-toolbar-sort { width: auto; flex: 0 1 auto; min-width: 0; }
    .mm-uf-toolbar-sort select { flex: none; max-width: 46vw; text-overflow: ellipsis; }
    .mm-uf-toolbar-currency { flex: none; }
}

/* Пилюля «Карта · N»: деликатное привлечение внимания — покачивание + золотое
   пульс-кольцо раз в 7с; замолкает после первого открытия карты (is-calm). */
@keyframes mm-pill-nudge {
    0%, 86%, 100% { transform: translateX(-50%) rotate(0) scale(1); }
    88% { transform: translateX(-50%) rotate(-2.5deg) scale(1.04); }
    90% { transform: translateX(-50%) rotate(2.5deg) scale(1.04); }
    92% { transform: translateX(-50%) rotate(-1.5deg) scale(1.02); }
    94% { transform: translateX(-50%) rotate(1.5deg) scale(1.01); }
    96% { transform: translateX(-50%) rotate(0) scale(1); }
}
@keyframes mm-pill-ring {
    0%, 84% { box-shadow: 0 10px 24px rgba(0,0,0,.16), 0 0 0 0 rgba(173,139,81,0); }
    86% { box-shadow: 0 10px 24px rgba(0,0,0,.16), 0 0 0 0 rgba(173,139,81,.45); }
    100% { box-shadow: 0 10px 24px rgba(0,0,0,.16), 0 0 0 16px rgba(173,139,81,0); }
}
@media (max-width: 760px) {
    .mm-map-pill:not(.is-calm) { animation: mm-pill-nudge 7s ease-in-out 2.5s infinite, mm-pill-ring 7s ease-out 2.5s infinite; }
}
@media (prefers-reduced-motion: reduce) {
    .mm-map-pill { animation: none !important; }
}

/* =========================================================================
 * MontMari — 6 правок (задачи 1,2,4,5): ссылка «Выбор на схеме», мобильная
 * форма на карте районов, раскомпоновка подвала, места притяжения района.
 * ===================================================================== */

/* --- Задача 1: ссылка «Выбор на схеме» в дропдауне «Локация» --- */
.mm-uf-loc-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.mm-uf-loc-head .mm-uf-citytabs { margin-bottom: 0; flex: 1 1 auto; min-width: 0; }
.mm-uf-loc-head-spacer { flex: 1 1 auto; }
.mm-uf-mapschema { display: inline-flex; align-items: center; gap: 6px; flex: none; color: var(--mm-gold); font: 600 13px Inter, sans-serif; text-decoration: none; white-space: nowrap; }
.mm-uf-mapschema svg { flex: none; }
.mm-uf-mapschema span { border-bottom: 1px solid transparent; line-height: 1.2; }
.mm-uf-mapschema:hover { color: var(--mm-gold); }
.mm-uf-mapschema:hover span { border-bottom-color: var(--mm-gold); }
.mm-uf-mapschema-bottom { display: none; }
@media (max-width: 760px) {
    .mm-uf-mapschema-top { display: none; }
    .mm-uf-mapschema-bottom { display: inline-flex; margin-top: 4px; padding: 10px 2px 2px; }
}

/* --- Задача 2: /karta-rajonov/ — форма-консультация под картой на мобилке --- */
.mm-map-consult-wrap { display: none; }
@media (max-width: 760px) {
    .mm-page-hero-mapreq .mm-page-hero-grid .mm-page-contact { display: none; }
    .mm-map-consult-wrap { display: block; padding: 0 16px 30px; }
    .mm-map-consult-wrap .mm-page-contact { display: grid; max-width: 640px; margin: 0 auto; }
}

/* --- Задача 4: раскомпоновка подвала на мобилке (перекрывает legacy !important,
   которые ошибочно делают grid у самого .mm-footer при текущей разметке) --- */
@media (max-width: 760px) {
    .mm-footer { display: block !important; padding: 28px 16px 30px; }
    .mm-footer .mm-footer-cols { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 22px 18px; }
    .mm-footer .mm-footer-about { grid-column: 1 / -1; }
    .mm-footer-slim { flex-direction: column; align-items: center; text-align: center; gap: 8px; }
    .mm-footer-slim-tagline, .mm-footer-slim-trust { text-align: center; }
    .mm-footer-slim-trust { justify-content: center; }
}

/* --- Задача 5: блок «Места притяжения в районе» на архивах района ---
 * Ширина 1500px, а не 1280: блок приехал со страницы ЖК, где сетка уже, и на
 * архиве района вылезал уступом относительно фильтра и «Жилых комплексов».
 * Заголовок — тем же начертанием, что и у соседнего блока. */
.mm-area-places { max-width: 1500px; margin: 0 auto; padding: clamp(24px, 4vw, 44px) clamp(18px, 4vw, 64px) clamp(30px, 5vw, 56px); }
.mm-area-places-title { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.1; margin: 0 0 14px; color: var(--mm-ink); }
.mm-area-places-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .mm-area-places-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .mm-area-places-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

/* «Что рядом»: подпись способа (на машине/пешком) серым ПОД временем */
.mm-poi-list li{ align-items:flex-start; }
.mm-poi-km{ display:inline-flex; flex-direction:column; align-items:flex-end; line-height:1.25; text-align:right; }
.mm-poi-km em{ display:block; font-style:normal; font-weight:400; font-size:11.5px; color:var(--mm-muted,#6d7169); letter-spacing:.01em; }

/* Подпись под временем: единый вариант, компакт-дубль скрыт */
.mm-poi-km .mm-poi-mode-s{ display:none !important; }
.mm-poi-km .mm-poi-mode-f{ display:block !important; }

/* Живой Google-блок на странице места */
.mm-place-google .mm-pg-row{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; font-family:var(--mm-sans); }
.mm-pg-rating{ font-weight:800; color:var(--mm-ink,#20241f); font-size:18px; }
.mm-pg-rating em{ font-style:normal; font-weight:500; color:var(--mm-muted,#6d7169); font-size:13px; }
.mm-pg-open{ font:700 12px var(--mm-sans); padding:3px 11px; border-radius:999px; }
.mm-pg-open.is-open{ background:#e1f5ee; color:#0b6e56; }
.mm-pg-open.is-closed{ background:#f6e4e4; color:#a32d2d; }
.mm-pg-type{ font:500 13px var(--mm-sans); color:var(--mm-muted,#6d7169); }
.mm-pg-link{ margin-left:auto; font:700 13px var(--mm-sans); color:var(--mm-gold,#ad8b51); text-decoration:none; }
.mm-pg-hours{ margin-top:12px; font-family:var(--mm-sans); }
.mm-pg-hours summary{ cursor:pointer; font-weight:600; color:var(--mm-ink,#20241f); }
.mm-pg-hours ul{ margin:8px 0 0; padding-left:18px; color:var(--mm-muted,#6d7169); font-size:14px; line-height:1.7; }
.mm-pg-attr{ margin:10px 0 0; font:400 11px var(--mm-sans); color:var(--mm-muted,#6d7169); opacity:.8; }

/* Карта места: метки объектов недвижимости + попапы */
.mm-map-prop{ width:18px; height:18px; border-radius:50%; background:var(--mm-gold,#ad8b51); border:3px solid #fff; box-shadow:0 1px 6px rgba(0,0,0,.45); cursor:pointer; }
.mm-map-pop-prop{ width:210px; }
.mm-map-pop-prop img{ width:100%; height:104px; object-fit:cover; border-radius:6px; margin:0 0 7px; display:block; }
.mm-map-pop-prop em{ display:block; font:600 11px var(--mm-sans); letter-spacing:.04em; text-transform:uppercase; color:var(--mm-gold,#ad8b51); margin-bottom:3px; }
.mm-map-pop-prop strong{ display:block; font:600 14px/1.3 var(--mm-sans); color:var(--mm-ink,#20241f); }
.mm-map-pop-prop .mm-map-price{ display:block; font:800 14px var(--mm-sans); color:var(--mm-ink,#20241f); margin:4px 0 2px; }
.mm-map-pop-prop a{ display:inline-block; margin-top:5px; font:700 12px var(--mm-sans); color:var(--mm-gold,#ad8b51); text-decoration:none; }

/* Места: мобильные доводки */
@media (max-width:640px){
  .mm-place-google .mm-pg-link{ margin-left:0; flex-basis:100%; }
  .mm-pg-rating{ font-size:16px; }
  .mm-place-gallery{ grid-template-columns:1fr 1fr; gap:8px; }
  .mm-place-gallery img{ height:118px; border-radius:10px; }
  .mm-place-hero{ padding:34px 20px; min-height:200px; }
  .mm-place-hero h1{ font-size:26px; }
  .mm-places-hero h1{ font-size:30px; }
}

/* Блог: хлебные крошки статьи по контейнеру 1360 */
.mm-article-breadcrumbs {
    max-width: none;
    margin: 0;
    /* Полоса тянется во всю ширину, а текст встаёт по левому краю
       заголовка статьи: контейнер 1360 + внутренний отступ. */
    padding: 14px calc(clamp(18px, 4vw, 64px) + max(0px, (100% - 1360px) / 2));
    background: #fbfaf6;
    border-bottom: 1px solid var(--mm-line);
}
.mm-article-breadcrumbs a:last-child::after { content: none; }

/* place-cards-google: рейтинг Google в карточках мест (архив /places/ + блок в районах) */
.mm-places-card-rating{ display:flex; align-items:center; gap:5px; padding:0 14px; font:500 13px/1.4 var(--mm-sans); color:var(--mm-muted,#6d7169); }
.mm-places-card-rating svg{ width:13px; height:13px; flex:0 0 auto; fill:#ad8b51; }

/* projects-google: рейтинг Google, галерея и отзывы на страницах ЖК/посёлков */
.mm-prjg-star { color: var(--mm-gold, #ad8b51); }

.mm-prjg-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 2px 0 16px;
    padding: 7px 14px;
    border: 1px solid var(--mm-gold, #ad8b51);
    border-radius: 999px;
    color: var(--mm-gold, #ad8b51);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

a.mm-prjg-badge:hover { background: rgba(173, 139, 81, .1); }

.mm-prjg-card-rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 10px;
    color: var(--mm-gold, #ad8b51);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
}

.mm-prjg-gallery-section,
.mm-prjg-reviews-section {
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(30px, 5vw, 64px) clamp(18px, 4vw, 64px);
}

.mm-prjg-reviews-section { border-top: 1px solid var(--mm-line, #e4ddcf); }

.mm-prjg-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.mm-prjg-photo {
    margin: 0;
    overflow: hidden;
    border-radius: 8px;
    background: var(--mm-paper-3, #efe8da);
}

.mm-prjg-photo img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.mm-prjg-note {
    margin: 12px 0 0;
    color: var(--mm-muted, #6f6a5d);
    font-size: 12px;
}

.mm-prjg-reviews {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.mm-prjg-review {
    display: grid;
    align-content: start;
    gap: 10px;
    padding: 20px 22px;
    background: #fbfaf6;
    border: 1px solid var(--mm-line, #e4ddcf);
    border-radius: 8px;
}

.mm-prjg-review header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
}

.mm-prjg-review header strong {
    font-size: 15px;
    font-weight: 900;
    color: var(--mm-ink, #20241f);
}

.mm-prjg-review-stars {
    color: var(--mm-gold, #ad8b51);
    font-size: 13px;
    letter-spacing: 2px;
}

.mm-prjg-review-date {
    color: var(--mm-muted, #6f6a5d);
    font-size: 12px;
}

.mm-prjg-review-text {
    margin: 0;
    color: var(--mm-ink, #20241f);
    font-size: 14px;
    line-height: 1.6;
}

.mm-prjg-review-more {
    justify-self: start;
    padding: 0;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--mm-gold, #ad8b51);
    color: var(--mm-gold, #ad8b51);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.mm-prjg-reviews-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 22px;
}

.mm-prjg-reviews-footer .mm-prjg-note { margin: 0; }

@media (max-width: 900px) {
    .mm-prjg-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mm-prjg-reviews { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .mm-prjg-gallery { grid-template-columns: 1fr; gap: 10px; }
    .mm-prjg-badge { font-size: 13px; }
}

/* place-v2: страница места притяжения (single-place.php). Дозапись, не трогать выше. */
.mm-placev2{--pv2-gold-soft:rgba(173,139,81,.14);color:var(--mm-ink)}
.mm-pv2-wrap{max-width:1280px;margin:0 auto;padding:0 clamp(18px,4vw,56px)}
.mm-pv2-eyebrow{font:800 11.5px var(--mm-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--mm-gold);margin:0 0 10px}
.mm-placev2 h1,.mm-placev2 h2{font-family:var(--mm-serif);font-weight:500;line-height:1.06;margin:0}
.mm-pv2-ic{display:inline-flex;width:19px;height:19px;color:var(--mm-gold);flex:0 0 auto}
.mm-pv2-ic svg{width:100%;height:100%}
.mm-pv2-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:5px;font:800 12px var(--mm-sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;border:none;transition:transform .15s,box-shadow .2s;text-decoration:none}
.mm-pv2-btn svg{width:17px;height:17px}
.mm-pv2-btn-gold{background:var(--mm-gold);color:#171911}
.mm-pv2-btn-light{background:transparent;color:var(--mm-paper);border:1px solid rgba(255,255,255,.35)}
.mm-pv2-btn-ink{background:var(--mm-olive);color:var(--mm-paper)}
.mm-pv2-btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(0,0,0,.18);color:inherit}
.mm-pv2-btn-gold:hover{color:#171911}
.mm-pv2-btn-light:hover,.mm-pv2-btn-ink:hover{color:var(--mm-paper)}

/* hero */
.mm-pv2-hero{background:var(--mm-olive) center/cover no-repeat;color:var(--mm-paper);padding:clamp(48px,7vw,96px) 0 clamp(30px,4vw,52px)}
.mm-pv2-crumbs{font:400 12.5px var(--mm-sans);color:rgba(247,243,236,.66);margin:0 0 22px}
.mm-pv2-crumbs a{color:inherit;text-decoration:none}
.mm-pv2-crumbs a:hover{color:#fff}
.mm-pv2-crumbs span{color:rgba(247,243,236,.85)}
.mm-pv2-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:clamp(24px,4vw,64px);align-items:end}
.mm-pv2-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.07);font:600 12.5px var(--mm-sans);margin:0 0 16px;color:var(--mm-paper)}
.mm-pv2-badge .mm-pv2-ic{color:var(--mm-gold)}
.mm-pv2-hero h1{font-size:clamp(34px,4.8vw,58px);margin:0 0 14px;color:#fff}
.mm-pv2-hero-sub{max-width:560px;color:rgba(247,243,236,.8);font-size:15px;line-height:1.6}
.mm-pv2-hero-actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.mm-pv2-facts{display:grid;gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:10px;overflow:hidden}
.mm-pv2-hf{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:13px 18px;background:rgba(24,35,29,.6);font-size:13.5px}
.mm-pv2-hf b{font:700 14px var(--mm-sans);color:#fff}
.mm-pv2-hf span{color:rgba(247,243,236,.66)}

/* sections */
.mm-pv2-section{padding:clamp(44px,6vw,84px) 0}
.mm-pv2-section-tight{padding-top:0}
.mm-pv2-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.mm-pv2-sec-head h2{font-size:clamp(27px,3.4vw,42px)}
.mm-pv2-sec-note{color:var(--mm-muted);font-size:13.5px;max-width:420px;margin:0}

/* фильтр-бар */
.mm-pv2-fbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--mm-line);margin-bottom:14px}
.mm-pv2-fchip{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:6px;border:1px solid var(--mm-line);background:var(--mm-surface);font:600 13px var(--mm-sans)}
.mm-pv2-fchip.is-on{background:var(--pv2-gold-soft);border-color:var(--mm-gold)}
.mm-pv2-fbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mm-pv2-sort-lbl{display:inline-flex;align-items:center;gap:8px;font:600 12px var(--mm-sans);color:var(--mm-muted)}
.mm-pv2-sort{padding:10px 14px;border-radius:6px;border:1px solid var(--mm-line);background:var(--mm-surface);font:600 13px var(--mm-sans);color:var(--mm-ink);cursor:pointer}
.mm-pv2-map-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:6px;background:var(--mm-gold);color:#171911;font:800 11.5px var(--mm-sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none}
.mm-pv2-fmeta{margin-bottom:16px}
.mm-pv2-fcount{font:500 24px var(--mm-serif);color:var(--mm-ink)}

/* split: список + карта */
.mm-pv2-split{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:22px;align-items:start}
.mm-pv2-split.mm-pv2-map-off{grid-template-columns:1fr}
.mm-pv2-split.mm-pv2-map-off .mm-pv2-map-panel{display:none}
.mm-pv2-split.mm-pv2-map-off .mm-pv2-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.mm-pv2-cards{display:grid;gap:14px;grid-template-columns:1fr}
.mm-pv2-card{position:relative;border-radius:12px;transition:box-shadow .2s}
.mm-pv2-card.is-active{box-shadow:0 0 0 2px var(--mm-gold),var(--mm-shadow-card)}
.mm-pv2-card>*{height:100%}
.mm-pv2-card-dist{position:absolute;left:12px;top:12px;z-index:3;background:var(--mm-olive);color:var(--mm-paper);font:700 11.5px var(--mm-sans);padding:6px 11px;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.2);pointer-events:none}
.mm-pv2-card.is-active .mm-pv2-card-dist{background:var(--mm-gold);color:#171911}
.mm-pv2-list-cta{margin-top:16px;text-align:center}
.mm-pv2-list-cta a{font:700 13px var(--mm-sans);color:var(--mm-gold);text-decoration:none;border-bottom:1px solid var(--pv2-gold-soft)}

.mm-pv2-map-panel{position:sticky;top:88px}
.mm-pv2-map{height:620px;border-radius:12px;overflow:hidden;border:1px solid var(--mm-line);background:var(--mm-paper-2)}
.mm-pv2-map-panel .mm-pv2-map-legend{margin-top:10px;display:flex;gap:18px;font:500 12px var(--mm-sans);color:var(--mm-muted)}
.mm-pv2-map-legend span{display:inline-flex;align-items:center;gap:7px}
.mm-pv2-lg{width:11px;height:11px;border-radius:50%;display:inline-block}

/* Leaflet маркеры place-v2 */
.mm-pv2-pin{background:none;border:none}
.mm-pv2-pin-price{display:inline-block;background:var(--mm-olive);color:var(--mm-paper);font:700 12px var(--mm-sans);padding:6px 10px;border-radius:999px;box-shadow:0 5px 14px rgba(0,0,0,.24);white-space:nowrap;border:2px solid transparent;transform:translateY(-6px)}
.mm-pv2-pin.is-active .mm-pv2-pin-price{background:var(--mm-gold);color:#171911;border-color:#fff}
.mm-pv2-place{background:none;border:none}
.mm-pv2-place-dot{width:46px;height:46px;border-radius:50%;background:var(--mm-gold);border:3px solid #fff;box-shadow:0 8px 22px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;color:#171911}
.mm-pv2-place-dot svg{width:22px;height:22px}
.mm-pv2-dm-marker{background:none;border:none}
.mm-pv2-dm-dot{width:16px;height:16px;border-radius:50%;background:var(--mm-gold);border:2.5px solid #fff;box-shadow:0 0 0 0 rgba(173,139,81,.5);animation:mmPv2Pulse 2.2s ease-out infinite}
@keyframes mmPv2Pulse{0%{box-shadow:0 0 0 0 rgba(173,139,81,.5)}70%{box-shadow:0 0 0 16px rgba(173,139,81,0)}100%{box-shadow:0 0 0 0 rgba(173,139,81,0)}}

/* район */
.mm-pv2-district{background:var(--mm-olive);color:var(--mm-paper);border-radius:14px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}
.mm-pv2-district-body{padding:clamp(28px,4vw,52px)}
.mm-pv2-district h2{font-size:clamp(25px,3vw,38px);margin:8px 0 14px;color:#fff}
.mm-pv2-dstats{display:flex;gap:26px;margin:8px 0 26px;flex-wrap:wrap}
.mm-pv2-dstat b{display:block;font:600 30px var(--mm-serif);color:#fff}
.mm-pv2-dstat span{font:600 11px var(--mm-sans);letter-spacing:.1em;text-transform:uppercase;color:rgba(247,243,236,.62)}
.mm-pv2-district-map{position:relative;background:#e9e4d8;min-height:340px}
.mm-pv2-district-map .leaflet-container{position:absolute;inset:0;height:100%}
.mm-pv2-dm-hint{position:absolute;right:12px;top:12px;z-index:500;background:rgba(24,35,29,.85);color:rgba(247,243,236,.9);font:500 11px var(--mm-sans);padding:6px 11px;border-radius:999px;pointer-events:none}

/* о месте */
.mm-pv2-about{background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:14px}
.mm-pv2-about-inner{max-width:820px;padding:clamp(26px,4vw,48px)}
.mm-pv2-about h2{font-size:clamp(25px,3vw,38px);margin-bottom:16px}
.mm-pv2-about-text{position:relative;font:400 15.5px/1.75 var(--mm-sans);color:var(--mm-ink)}
.mm-pv2-about-text p{margin:0 0 14px}
.mm-pv2-about-text[data-collapsed]{max-height:230px;overflow:hidden}
.mm-pv2-about-text[data-collapsed]::after{content:'';position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,rgba(251,250,246,0),var(--mm-surface))}
.mm-pv2-about-more{margin-top:14px;border:none;background:none;font:700 13.5px var(--mm-sans);color:var(--mm-gold);cursor:pointer;padding:0;border-bottom:1px solid var(--pv2-gold-soft)}

/* фото */
.mm-pv2-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.mm-pv2-gallery a{display:block;border-radius:10px;overflow:hidden;aspect-ratio:4/3}
.mm-pv2-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.mm-pv2-attr{margin-top:10px;font:400 12px var(--mm-sans);color:var(--mm-muted)}

/* ЖК */
.mm-pv2-jk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.mm-pv2-jk-card{background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:10px;overflow:hidden;transition:box-shadow .2s,transform .15s,border-color .2s;text-decoration:none;color:var(--mm-ink);display:block}
.mm-pv2-jk-card:hover{border-color:var(--mm-gold);box-shadow:var(--mm-shadow-card);transform:translateY(-2px)}
.mm-pv2-jk-photo{height:132px;background:linear-gradient(140deg,#d8d0c0,#c9c0ad);background-size:cover;background-position:center;position:relative}
.mm-pv2-jk-photo em{position:absolute;left:10px;top:10px;background:rgba(24,35,29,.85);color:var(--mm-paper);font:700 10px var(--mm-sans);letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px;font-style:normal}
.mm-pv2-jk-body{padding:14px 16px;display:grid;gap:8px}
.mm-pv2-jk-body b{font:600 17px var(--mm-serif)}
.mm-pv2-jk-dist{font:700 12.5px var(--mm-sans);color:var(--mm-gold)}

/* кластер */
.mm-pv2-cluster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.mm-pv2-ccard{display:grid;gap:9px;align-content:start;background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:10px;padding:16px;transition:box-shadow .2s,transform .15s,border-color .2s;text-decoration:none;color:var(--mm-ink)}
.mm-pv2-ccard:hover{border-color:var(--mm-gold);box-shadow:var(--mm-shadow-card);transform:translateY(-2px)}
.mm-pv2-ccard-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mm-pv2-ccard-type{font:700 10.5px var(--mm-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mm-muted)}
.mm-pv2-ccard b{font:600 16.5px var(--mm-serif);line-height:1.25}
.mm-pv2-ccard-dist{font:700 12.5px var(--mm-sans);color:var(--mm-gold)}

/* cta */
.mm-pv2-cta-band{background:var(--mm-paper-2);border-top:1px solid var(--mm-line);border-bottom:1px solid var(--mm-line)}
.mm-pv2-cta-band .mm-pv2-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:34px;padding-bottom:34px;flex-wrap:wrap}
.mm-pv2-cta-band h2{font-size:clamp(23px,2.6vw,32px)}
.mm-pv2-cta-band p{color:var(--mm-muted);font-size:14px;max-width:460px;margin:8px 0 0}

@media (max-width:960px){
	.mm-pv2-hero-grid{grid-template-columns:1fr}
	.mm-pv2-split{grid-template-columns:1fr}
	.mm-pv2-map-panel{position:static}
	.mm-pv2-map{height:420px}
	.mm-pv2-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
	.mm-pv2-district{grid-template-columns:1fr}
	.mm-pv2-fbar-right{margin-left:0;width:100%}
}
/* place-v2: конец */

/* ============================================================
   mm-preview: каталожный блок «Жить рядом» на странице места (pv2 near-catalog)
   Переиспользует классы каталога (.mm-ufilter/.mm-catalog-page/.mm-results-*);
   здесь только выравнивание заголовка секции и заблокированный чип радиуса.
   ============================================================ */
.mm-pv2-catalog-section .mm-pv2-wrap { max-width: 1500px; padding: 0 clamp(18px, 4vw, 64px); }
.mm-pv2-catalog { background: var(--mm-paper-2); border-radius: 10px; }
.mm-pv2-catalog .mm-ufilter { padding-top: 0; }
.mm-uf-radius-lock { cursor: default; }
.mm-uf-radius-lock .mm-uf-ddval { color: var(--mm-gold); font-weight: 700; }
.mm-uf-mchip.mm-uf-radius-lock { pointer-events: none; }

/* Лайтбокс галереи места */
.mm-plb{ position:fixed; inset:0; z-index:99999; background:rgba(10,12,10,.93); display:flex; align-items:center; justify-content:center; }
.mm-plb[hidden]{ display:none; }
.mm-plb-img{ max-width:92vw; max-height:88vh; object-fit:contain; border-radius:6px; box-shadow:0 12px 46px rgba(0,0,0,.55); cursor:zoom-out; }
.mm-plb-close{ position:absolute; top:16px; right:20px; width:44px; height:44px; border:none; background:rgba(255,255,255,.12); color:#fff; font-size:28px; line-height:1; border-radius:50%; cursor:pointer; }
.mm-plb-nav{ position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border:none; background:rgba(255,255,255,.14); color:#fff; font-size:30px; line-height:1; border-radius:50%; cursor:pointer; }
.mm-plb-prev{ left:16px; } .mm-plb-next{ right:16px; }
.mm-plb-nav:hover, .mm-plb-close:hover{ background:rgba(255,255,255,.26); }
.mm-plb-count{ position:absolute; bottom:18px; left:50%; transform:translateX(-50%); color:#fff; font:600 13px var(--mm-sans,sans-serif); background:rgba(0,0,0,.5); padding:5px 13px; border-radius:999px; }
@media (max-width:640px){ .mm-plb-nav{ width:40px; height:40px; font-size:24px; } .mm-plb-prev{left:8px;} .mm-plb-next{right:8px;} .mm-plb-close{ top:10px; right:12px; } }

/* Карта мест на архиве */
.mm-places-map-wrap{border-radius:16px;overflow:hidden;border:1px solid #ece7dd;margin:0 0 26px}
#mm-places-map{width:100%;height:440px;background:#eef2f4}
@media(max-width:600px){#mm-places-map{height:66vw;min-height:300px}}
.leaflet-container a.leaflet-popup-close-button{background:none}

/* Обзор по отзывам на странице места */
.mm-prv-desc{font-size:1.05em;line-height:1.6;margin:0 0 16px}
.mm-prv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.mm-prv-box{border-radius:14px;padding:14px 16px;border:1px solid #ece7dd;background:#faf8f4}
.mm-prv-box p{margin:0;line-height:1.55}
.mm-prv-t{font-weight:700;margin-bottom:6px}
.mm-prv-pros{background:#f0f7f0;border-color:#d9ebd9}.mm-prv-pros .mm-prv-t{color:#2e7d32}
.mm-prv-cons{background:#fdf3ec;border-color:#f2ddcc}.mm-prv-cons .mm-prv-t{color:#b5641e}
.mm-prv-tips{background:#eef4fb;border-color:#d5e4f5}.mm-prv-tips .mm-prv-t{color:#1a63b0}
.mm-prv-note{margin-top:12px;color:#8a8a8a;font-size:12px}

/* Секретные места + мета обзора */
.mm-prv-secret{display:inline-block;background:#1f2a44;color:#ffd77a;font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px;margin:2px 0 12px}
.mm-prv-meta-row{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 14px}
.mm-prv-meta{background:#f4efe6;border:1px solid #ece7dd;border-radius:10px;padding:6px 12px;font-size:14px}
.mm-prv-meta b{color:#7a5c22}
.mm-place-secret-badge{display:inline-block;background:#1f2a44;color:#ffd77a;font-weight:700;font-size:11px;padding:1px 7px;border-radius:999px;margin-left:6px;white-space:nowrap}
.mm-pv2-secret{display:inline-block;background:rgba(31,42,68,.85);color:#ffd77a;font-weight:700;font-size:13px;padding:5px 12px;border-radius:999px;margin-top:8px;backdrop-filter:blur(4px)}

/* Якорное меню на странице места */
.mm-pv2-anchornav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);border-bottom:1px solid #ece7dd}
.mm-pv2-anchornav-inner{display:flex;gap:6px;overflow-x:auto;padding:10px 16px;scrollbar-width:none}
.mm-pv2-anchornav-inner::-webkit-scrollbar{display:none}
.mm-pv2-anchornav a{flex:0 0 auto;padding:7px 14px;border-radius:999px;background:#f4efe6;color:#1f2937;font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap;border:1px solid #ece7dd}
.mm-pv2-anchornav a:hover{background:#ece3d3;text-decoration:none}
.mm-pv2-anchornav a.mm-pv2-anchornav-cta{background:#1f2a44;color:#ffd77a;border-color:#1f2a44}
.mm-placev2 [id^="mm-p-"],.mm-placev2 #mm-pv2-catalog{scroll-margin-top:128px}
html{scroll-behavior:smooth}

/* Порядок секций места: контент наверх, «Недвижимость вокруг» вниз (без переноса HTML) */
.mm-placev2{display:flex;flex-direction:column}
.mm-placev2>.mm-pv2-catalog-section{order:8}
.mm-placev2>.mm-pv2-cta-band{order:9}

/* ============================================================
   TRUST / УТП «Официальное агентство» — mm_trust_render()
   Палитра сайта: олива #18231d + золото #ad8b51 + песочные тона.
   ============================================================ */
.mm-usp {
    max-width: 1280px;
    margin: clamp(30px, 5vw, 60px) auto;
    padding: 0 clamp(18px, 4vw, 64px);
}
.mm-eyebrow-light { color: var(--mm-gold); }

.mm-trust-band {
    background: var(--mm-olive);
    color: #fff;
    border-radius: var(--mm-radius-lg);
    padding: clamp(22px, 4vw, 40px);
}
.mm-trust-band h2 {
    color: #fff;
    margin: .25em 0 .35em;
    line-height: 1.05;
    font-size: clamp(24px, 3.4vw, 38px);
}
.mm-trust-lead {
    color: rgba(255, 255, 255, .72);
    max-width: 62ch;
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}
.mm-trust-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 24px;
}
.mm-trust-metric {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: var(--mm-radius);
    padding: 16px;
}
.mm-trust-metric-big {
    display: block;
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 600;
    color: var(--mm-gold);
    line-height: 1.05;
}
.mm-trust-metric-note {
    display: block;
    color: rgba(255, 255, 255, .66);
    font-size: 13px;
    margin-top: 6px;
    line-height: 1.4;
}
.mm-trust-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}
.mm-trust-pills span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, .08);
    border-radius: var(--mm-radius-pill);
    padding: 8px 14px;
    font-size: 13.5px;
    color: #fff;
}
.mm-trust-pills svg { width: 16px; height: 16px; color: var(--mm-gold); flex: none; }

.mm-trust-entity {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    background: var(--mm-white);
    border: 1px solid var(--mm-line);
    border-radius: var(--mm-radius-lg);
    padding: 16px 18px;
    margin-top: 14px;
    box-shadow: var(--mm-shadow-card);
}
.mm-trust-entity-ic {
    width: 42px; height: 42px; flex: none;
    border-radius: var(--mm-radius);
    background: rgba(173, 139, 81, .14);
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--mm-gold);
}
.mm-trust-entity-ic svg { width: 22px; height: 22px; }
.mm-trust-entity-body { flex: 1; min-width: 220px; }
.mm-trust-entity-body strong { display: block; font-size: 15px; color: var(--mm-ink); }
.mm-trust-entity-body span { display: block; font-size: 13px; color: var(--mm-muted); margin-top: 3px; line-height: 1.45; }
.mm-trust-entity-badge {
    font-size: 12.5px; color: #2e6b46;
    background: rgba(46, 107, 70, .10);
    padding: 6px 12px; border-radius: var(--mm-radius-pill); white-space: nowrap;
}

/* --- Нижняя часть хаба: сравнение + безопасность --- */
.mm-usp-hub-bottom {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: clamp(18px, 3vw, 34px);
    align-items: start;
}
.mm-trust-compare h2, .mm-trust-safety h2 {
    margin: .2em 0 .1em;
    font-size: clamp(20px, 2.4vw, 26px);
    line-height: 1.1;
}
.mm-trust-table {
    border: 1px solid var(--mm-line);
    border-radius: var(--mm-radius-lg);
    overflow: hidden;
    margin-top: 14px;
    background: var(--mm-white);
}
.mm-trust-tr {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr;
    font-size: 13.5px;
    border-top: 1px solid var(--mm-line);
}
.mm-trust-tr:first-child { border-top: 0; }
.mm-trust-thead { background: var(--mm-paper); font-weight: 600; }
.mm-trust-thead > div { padding: 12px 14px; }
.mm-trust-col-us { display: flex; align-items: center; gap: 6px; color: var(--mm-olive); }
.mm-trust-col-us svg { width: 15px; height: 15px; color: var(--mm-gold); }
.mm-trust-col-them { color: var(--mm-muted); }
.mm-trust-td-key { padding: 11px 14px; color: var(--mm-muted); }
.mm-trust-td-us, .mm-trust-td-them { padding: 11px 14px; display: flex; align-items: flex-start; gap: 7px; }
.mm-trust-td-us { color: var(--mm-ink); }
.mm-trust-td-them { color: var(--mm-muted); }
.mm-trust-yes { color: #2e6b46; font-weight: 700; flex: none; }
.mm-trust-no { color: #b0483a; font-weight: 700; flex: none; }
.mm-trust-safety-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 14px;
}
.mm-trust-safety-item {
    background: var(--mm-white);
    border: 1px solid var(--mm-line);
    border-radius: var(--mm-radius);
    padding: 14px 15px;
}
.mm-trust-safety-ic {
    width: 34px; height: 34px;
    border-radius: var(--mm-radius-sm);
    background: var(--mm-paper);
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--mm-olive);
}
.mm-trust-safety-ic svg { width: 19px; height: 19px; }
.mm-trust-safety-item strong { display: block; margin: 10px 0 4px; font-size: 14px; color: var(--mm-ink); }
.mm-trust-safety-item p { font-size: 12.5px; color: var(--mm-muted); margin: 0; line-height: 1.5; }
.mm-trust-safety-cta, .mm-trust-home-cta { margin-top: 16px; }

/* --- Компакт для карточки объекта --- */
.mm-trust-compact {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    background: var(--mm-olive); color: #fff;
    border-radius: var(--mm-radius-lg);
    padding: 14px 18px; text-decoration: none;
    transition: background .2s ease;
}
.mm-trust-compact:hover { background: var(--mm-olive-2); }
.mm-trust-compact-badge {
    width: 40px; height: 40px; flex: none;
    border-radius: var(--mm-radius);
    background: rgba(173, 139, 81, .18);
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--mm-gold);
}
.mm-trust-compact-badge svg { width: 22px; height: 22px; }
.mm-trust-compact-body { flex: 1; min-width: 200px; }
.mm-trust-compact-body strong { display: block; font-size: 14.5px; color: #fff; }
.mm-trust-compact-body span { display: block; font-size: 12.5px; color: rgba(255, 255, 255, .66); margin-top: 2px; line-height: 1.45; }
.mm-trust-compact-go { color: var(--mm-gold); font-size: 13px; font-weight: 500; white-space: nowrap; }

/* --- Строка юрлица в подвале --- */
.mm-footer-slim-legal { color: var(--mm-muted); }

@media (max-width: 860px) {
    .mm-usp-hub-bottom { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
    .mm-trust-metrics { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .mm-trust-safety-grid { grid-template-columns: 1fr; }
    .mm-trust-tr { grid-template-columns: 1.1fr .95fr .95fr; font-size: 12.5px; }
    .mm-trust-thead > div, .mm-trust-td-key, .mm-trust-td-us, .mm-trust-td-them { padding: 9px 10px; }
}
.mm-usp .mm-button-gold { background: var(--mm-gold) !important; color: #171911 !important; }
.mm-usp-compare-block .mm-trust-table { margin-top: 12px; max-width: 680px; }
.mm-usp .mm-button.mm-button-gold {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    width: auto; min-height: 46px; padding: 0 22px; border: 0; border-radius: 5px;
    font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
    background: var(--mm-gold) !important; color: #171911 !important; text-decoration: none;
    transition: background .2s ease, transform .15s ease;
}
.mm-usp .mm-button.mm-button-gold:hover { background: #c19a58 !important; transform: translateY(-1px); }
.mm-usp .mm-button.mm-button-gold svg { width: 18px; height: 18px; flex: 0 0 auto; }
.mm-trust-safety-cta { align-self: flex-start; }
.mm-button.mm-trust-safety-cta {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    width: auto; min-height: 46px; padding: 0 22px; border: 0; border-radius: 5px;
    font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
    background: var(--mm-gold) !important; color: #171911 !important; text-decoration: none;
    transition: background .2s ease, transform .15s ease;
}
.mm-button.mm-trust-safety-cta:hover { background: #c19a58 !important; transform: translateY(-1px); }
.mm-button.mm-trust-safety-cta svg { width: 18px; height: 18px; flex: 0 0 auto; }
.mm-usp-safety-block .mm-trust-safety-grid { grid-template-columns: 1fr 1fr; }
.mm-usp-cardrow-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(18px, 3vw, 32px); align-items: start; }
.mm-usp-cardrow .mm-trust-compare h2, .mm-usp-cardrow .mm-trust-safety h2 { font-size: clamp(19px, 2vw, 24px); margin: .2em 0 .1em; }
.mm-usp-cardrow .mm-trust-table { max-width: none; margin-top: 12px; }
.mm-usp-cardrow .mm-trust-safety-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 12px; }
.mm-usp-cardrow .mm-trust-safety-item { padding: 12px 14px; }
@media (max-width: 820px) { .mm-usp-cardrow-grid { grid-template-columns: 1fr; } }

/* Плашка «Фото комплекса» на юнитах без собственных фото */
.mm-fallback-badge {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 11px;
    border-radius: var(--mm-radius-pill);
    background: rgba(24, 35, 29, .82);
    color: #fff;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .02em;
    pointer-events: none;
    backdrop-filter: blur(2px);
}
.mm-fallback-badge svg { width: 14px; height: 14px; color: var(--mm-gold); flex: none; }
.mm-card-image .mm-fallback-badge { left: 10px; bottom: 34px; }
.mm-property-gallery { position: relative; }
.mm-fallback-badge-hero { left: 16px; bottom: 16px; font-size: 12.5px; }
.mm-project-gallery-credit { margin: 4px 0 0; color: var(--mm-muted); font-size: 12.5px; }

/* Обложка ЖК: не растягиваем портретные фото на всю высоту — кадрируем */
.mm-project-hero-grid figure { margin: 0; }
.mm-project-hero-grid figure img {
    display: block;
    width: 100%;
    height: clamp(320px, 44vw, 540px);
    object-fit: cover;
    object-position: center 35%;
    border-radius: var(--mm-radius-lg);
}

/* ============ Оживление фото: Ken Burns + hover-слайдшоу ============ */
@keyframes mm-kenburns {
    from { transform: scale(1) translateY(0); }
    to   { transform: scale(1.07) translateY(-1.5%); }
}

/* Обложка ЖК */
.mm-project-hero-grid figure { overflow: hidden; }
.mm-project-hero-grid figure img {
    animation: mmPhotoBreath 14s ease-in-out infinite;
    transform-origin: center center;
    will-change: transform;
}

/* Главное фото в карточке объекта (первый тайл галереи) */
.mm-property-gallery .mm-gallery-item-1 { overflow: hidden; }
.mm-property-gallery .mm-gallery-item-1 img {
    animation: mmPhotoBreath 16s ease-in-out infinite;
    transform-origin: center center;
    will-change: transform;
}

/* Каталог: зум при наведении + слайды */
.mm-card-image { overflow: hidden; }
.mm-card-photo-main { transition: transform .7s ease; }
@media (hover: hover) and (pointer: fine) {
    .mm-card-image:hover .mm-card-photo-main { transform: scale(1.06); }
}
.mm-card-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .4s ease;
    pointer-events: none;
    z-index: 1;
}
.mm-card-slide.is-on { opacity: 1; }
/* бейджи поверх слайдов */
.mm-card-image .mm-badge,
.mm-card-image .mm-photo-count,
.mm-card-image .mm-video-badge,
.mm-card-image .mm-tour-badge,
.mm-card-image .mm-fallback-badge,
.mm-card-image .mm-card-location-links { z-index: 2; }

@media (prefers-reduced-motion: reduce) {
    .mm-project-hero-grid figure img,
    .mm-property-gallery .mm-gallery-item-1 img { animation: none; }
    .mm-card-photo-main { transition: none; }
}
button.mm-prjg-photo { padding: 0; border: 0; background: none; cursor: zoom-in; display: block; width: 100%; }
button.mm-prjg-photo img { display: block; width: 100%; }

/* Калькулятор 90-day report */
.mm-90d { margin: 28px 0; padding: clamp(18px, 3vw, 28px); background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: var(--mm-radius-lg); }
.mm-90d-h { margin: 4px 0 14px !important; }
.mm-90d-form { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.mm-90d-form label { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 220px; }
.mm-90d-form label span { font-size: 13px; color: var(--mm-muted); }
.mm-90d-form input[type="date"] { padding: 10px 14px; border: 1px solid var(--mm-line); border-radius: var(--mm-radius); background: var(--mm-white); font-size: 15px; min-height: 46px; }
.mm-90d-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 18px; }
.mm-90d-cell { background: var(--mm-white); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); padding: 12px 14px; }
.mm-90d-cell span { display: block; font-size: 12px; color: var(--mm-muted); }
.mm-90d-cell strong { display: block; margin-top: 4px; font-size: 15px; }
.mm-90d-cell.is-deadline { border-color: #b0483a; }
.mm-90d-cell.is-deadline strong { color: #b0483a; }
.mm-90d-note { font-size: 13px; color: var(--mm-muted); margin: 12px 0 14px; }
.mm-90d-actions { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 640px) { .mm-90d-grid { grid-template-columns: 1fr; } }

/* 90-day калькулятор — тёмный акцентный вариант + инструкция */
.mm-90d { background: var(--mm-olive); color: #fff; border: 0; box-shadow: var(--mm-shadow-card); }
.mm-90d .mm-90d-h { color: #fff; }
.mm-90d-steps { list-style: none; counter-reset: s; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.mm-90d-steps li { counter-increment: s; position: relative; padding: 12px 14px 12px 44px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: var(--mm-radius); }
.mm-90d-steps li::before { content: counter(s); position: absolute; left: 12px; top: 12px; width: 24px; height: 24px; border-radius: 50%; background: var(--mm-gold); color: #171911; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.mm-90d-steps li span { display: block; font-size: 14px; font-weight: 600; color: #fff; }
.mm-90d-steps li em { display: block; font-style: normal; font-size: 12px; color: rgba(255,255,255,.6); margin-top: 3px; line-height: 1.4; }
.mm-90d .mm-90d-form label span { color: rgba(255,255,255,.75); }
.mm-90d .mm-90d-form input[type="date"] { background: #fff; border-color: transparent; color: var(--mm-ink); }
.mm-90d .mm-90d-note { color: rgba(255,255,255,.72); }
.mm-90d .mm-button-dark { background: #0d1811; border: 1px solid rgba(255,255,255,.28); color: #fff !important; }
.mm-90d .mm-button-light { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.32); color: #fff; }
@media (max-width: 640px) { .mm-90d-steps { grid-template-columns: 1fr; } }
.mm-90d .mm-90d-cell strong { color: var(--mm-ink); }
.mm-90d .mm-90d-cell.is-deadline strong { color: #b0483a; }
.mm-90d .mm-90d-cell span { color: var(--mm-muted); }

/* ============ Обогащение ЖК: факты / калькулятор / отзывы / планировки ============ */
.mm-cx-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 12px; margin-top: 14px; }
.mm-cx-metric { background: var(--mm-olive); border-radius: var(--mm-radius); padding: 14px 16px; }
.mm-cx-metric-n { display: block; color: var(--mm-gold); font-size: 24px; font-weight: 600; line-height: 1.05; }
.mm-cx-metric-l { display: block; color: rgba(255,255,255,.66); font-size: 12px; margin-top: 4px; }
.mm-cx-facts-note { font-size: 14px; color: var(--mm-ink); margin: 14px 0 0; }
.mm-cx-source { font-size: 12px; color: var(--mm-muted); margin: 10px 0 0; }

.mm-cx-calc-lead { color: var(--mm-muted); font-size: 14px; margin: 4px 0 16px; }
.mm-cx-types { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.mm-cx-types button { padding: 8px 16px; border-radius: 8px; border: 1px solid var(--mm-line); background: var(--mm-white); color: var(--mm-ink); font-size: 13px; cursor: pointer; }
.mm-cx-types button.is-on { background: var(--mm-olive); color: #fff; border-color: var(--mm-olive); }
.mm-cx-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.mm-cx-inputs label { font-size: 13px; color: var(--mm-muted); display: flex; flex-direction: column; gap: 5px; }
.mm-cx-inputs input { padding: 10px 12px; border: 1px solid var(--mm-line); border-radius: 8px; font-size: 15px; background: var(--mm-white); }
.mm-cx-out { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: var(--mm-paper); border-radius: 10px; padding: 16px; }
.mm-cx-out span { display: block; font-size: 12px; color: var(--mm-muted); }
.mm-cx-out strong { display: block; font-size: 20px; color: var(--mm-olive); margin-top: 3px; }
.mm-cx-verdict { margin-top: 12px; padding: 12px 14px; border-radius: 10px; font-size: 14px; font-weight: 500; background: var(--mm-paper); color: var(--mm-muted); }
.mm-cx-verdict.is-good { background: rgba(46,107,70,.12); color: #2e6b46; }
.mm-cx-verdict.is-fair { background: rgba(173,139,81,.14); color: #8a6a2f; }
.mm-cx-verdict.is-high { background: rgba(176,72,58,.12); color: #b0483a; }

.mm-cx-rev-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 14px; }
.mm-cx-rev-col h3 { font-size: 15px; margin: 0 0 8px; }
.mm-cx-rev-col ul { margin: 0; padding-left: 20px; }
.mm-cx-rev-col li { font-size: 14px; color: var(--mm-ink); margin-bottom: 6px; line-height: 1.45; }
.mm-cx-pros li::marker { color: #2e6b46; }
.mm-cx-cons li::marker { color: #b0483a; }
.mm-cx-tips { font-size: 14px; color: var(--mm-muted); margin: 14px 0 0; }

.mm-cx-plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-top: 14px; }
.mm-cx-plan { display: block; border: 1px solid var(--mm-line); border-radius: 10px; overflow: hidden; text-decoration: none; }
.mm-cx-plan img { display: block; width: 100%; height: 150px; object-fit: cover; background: var(--mm-paper); }
.mm-cx-plan span { display: block; padding: 8px 10px; font-size: 12px; color: var(--mm-muted); }

@media (max-width: 640px) {
    .mm-cx-inputs, .mm-cx-out, .mm-cx-rev-grid { grid-template-columns: 1fr; }
}
.mm-cx-facts, .mm-cx-calc, .mm-cx-reviews, .mm-cx-plans {
    max-width: 1280px; margin: 0 auto; padding: clamp(24px, 4vw, 44px) clamp(18px, 4vw, 64px) 0;
}

/* Калькулятор рыночной цены — выделенная тёмная карточка, чтобы не сливался с фоном */
.mm-cx-calc {
    background: var(--mm-olive);
    border-radius: 18px;
    padding: clamp(26px, 4vw, 42px) clamp(22px, 4vw, 46px) clamp(28px, 4vw, 42px);
    box-shadow: 0 18px 44px rgba(20, 30, 24, .16);
}
.mm-cx-calc .mm-eyebrow { color: var(--mm-gold); }
.mm-cx-calc h2 { color: #fff; }
.mm-cx-calc .mm-cx-calc-lead { color: rgba(255,255,255,.72); }
.mm-cx-calc .mm-cx-types button {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.22);
    color: rgba(255,255,255,.9);
}
.mm-cx-calc .mm-cx-types button.is-on {
    background: var(--mm-gold);
    border-color: var(--mm-gold);
    color: #2a2411;
}
.mm-cx-calc .mm-cx-inputs label { color: rgba(255,255,255,.72); }
.mm-cx-calc .mm-cx-inputs input {
    background: #fff;
    border-color: transparent;
    color: var(--mm-ink);
}
.mm-cx-calc .mm-cx-out { background: rgba(255,255,255,.07); }
.mm-cx-calc .mm-cx-out span { color: rgba(255,255,255,.66); }
.mm-cx-calc .mm-cx-out strong { color: #fff; }
.mm-cx-calc .mm-cx-verdict { background: rgba(255,255,255,.1); color: rgba(255,255,255,.85); }
.mm-cx-calc .mm-cx-verdict.is-good { background: rgba(120,200,150,.22); color: #c3ecd1; }
.mm-cx-calc .mm-cx-verdict.is-fair { background: rgba(226,194,120,.22); color: #ecd9a6; }
.mm-cx-calc .mm-cx-verdict.is-high { background: rgba(226,120,105,.22); color: #f3bcb2; }
.mm-cx-calc .mm-cx-source { color: rgba(255,255,255,.5); }

/* Генплан комплекса */
.mm-cx-master { display: block; border: 1px solid var(--mm-line); border-radius: 14px; overflow: hidden; margin: 16px 0 24px; text-decoration: none; background: #fff; }
.mm-cx-master img { display: block; width: 100%; max-height: 540px; object-fit: contain; background: #fff; }
.mm-cx-master-cap { display: block; padding: 11px 15px; font-size: 13px; color: var(--mm-muted); border-top: 1px solid var(--mm-line); }

/* Планировки с ценниками (клик → калькулятор) */
.mm-cx-plan { display: flex; flex-direction: column; border: 1px solid var(--mm-line); border-radius: 12px; overflow: hidden; background: var(--mm-white); }
.mm-cx-plan-img { display: block; }
.mm-cx-plan-img img { display: block; width: 100%; height: 190px; object-fit: cover; object-position: center top; background: #fff; }
.mm-cx-plan-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; padding: 11px 13px; border: 0; border-top: 1px solid var(--mm-line); background: var(--mm-paper); cursor: pointer; text-align: left; font: inherit; transition: background .15s; }
.mm-cx-plan-cta:hover { background: #efe7d8; }
.mm-cx-plan-size { font-size: 12px; color: var(--mm-muted); }
.mm-cx-plan-price { font-size: 17px; font-weight: 600; color: var(--mm-olive); line-height: 1.1; }
.mm-cx-plan-go { font-size: 12px; color: #8a6a2f; font-weight: 500; margin-top: 2px; }
.mm-cx-plan-lbl { display: block; padding: 9px 12px; font-size: 12px; color: var(--mm-muted); border-top: 1px solid var(--mm-line); }

/* Район, карта и что рядом (ЖК) */
.mm-cx-area { max-width: 1280px; margin: 0 auto; padding: clamp(24px, 4vw, 44px) clamp(18px, 4vw, 64px) 0; }
.mm-cx-map { height: 420px; border-radius: 14px; overflow: hidden; margin: 16px 0 22px; border: 1px solid var(--mm-line); }
.mm-cx-poi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px 30px; }
.mm-cx-poi-cat-title { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; color: var(--mm-ink); margin-bottom: 8px; }
.mm-cx-poi-ic { display: inline-flex; width: 18px; height: 18px; color: var(--mm-olive); flex: 0 0 auto; }
.mm-cx-poi-ic svg { width: 100%; height: 100%; }
.mm-cx-poi-list { list-style: none; margin: 0; padding: 0; }
.mm-cx-poi-list li { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; font-size: 13px; border-bottom: 1px solid rgba(0,0,0,.05); }
.mm-cx-poi-name { color: var(--mm-ink); text-decoration: none; }
.mm-cx-poi-name:hover { color: var(--mm-olive); }
.mm-cx-poi-km { color: var(--mm-muted); white-space: nowrap; }

/* Умный текст-лид про комплекс */
.mm-cx-lead { font-size: 16px; line-height: 1.62; color: var(--mm-ink); margin: 8px 0 20px; max-width: 920px; }

/* Что есть в комплексе (amenities) */
.mm-cx-amenities { max-width: 1280px; margin: 0 auto; padding: clamp(24px, 4vw, 44px) clamp(18px, 4vw, 64px) 0; }
.mm-cx-am-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px 30px; margin-top: 10px; }
.mm-cx-am-cat-title { font-weight: 600; font-size: 14px; color: var(--mm-ink); margin-bottom: 10px; }
.mm-cx-am-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mm-cx-am-chip { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--mm-paper); border: 1px solid var(--mm-line); font-size: 13px; color: var(--mm-ink); }

/* Калькулятор под планировками */
.mm-cx-calc.mm-cx-calc--plans { margin-top: 26px; }

/* Кнопки-обёртки фото (лайтбокс) — сброс дефолтов button */
.mm-cx-master { cursor: pointer; padding: 0; font: inherit; text-align: left; width: 100%; }
.mm-cx-plan-img { border: 0; padding: 0; margin: 0; background: transparent; cursor: pointer; width: 100%; display: block; }

/* Лайтбокс планировок/генплана */
.mm-cx-lightbox { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; background: rgba(12, 16, 14, .92); padding: 40px; }
.mm-cx-lightbox.is-open { display: flex; }
.mm-cx-lb-stage { margin: 0; max-width: 92vw; max-height: 88vh; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.mm-cx-lb-stage img { max-width: 92vw; max-height: 80vh; object-fit: contain; background: #fff; border-radius: 8px; }
.mm-cx-lb-stage figcaption { color: #fff; font-size: 14px; opacity: .85; text-align: center; }
.mm-cx-lb-close { position: absolute; top: 18px; right: 24px; width: 44px; height: 44px; border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 26px; line-height: 1; border-radius: 50%; cursor: pointer; }
.mm-cx-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 32px; line-height: 1; border-radius: 50%; cursor: pointer; }
.mm-cx-lb-prev { left: 20px; } .mm-cx-lb-next { right: 20px; }
.mm-cx-lb-nav:hover, .mm-cx-lb-close:hover { background: rgba(255,255,255,.28); }

/* Тумблеры категорий на карте района */
.mm-cx-cat-toggles { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 8px 0 14px; }
.mm-cx-cat-toggle { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px 6px 10px; border: 1px solid var(--mm-line); border-radius: 999px; background: var(--mm-white); font-size: 13px; cursor: pointer; user-select: none; }
.mm-cx-cat-toggle input { margin: 0; accent-color: #4a7d55; }
.mm-cx-cat-toggle .mm-cx-cat-ic { display: inline-flex; width: 16px; height: 16px; }
.mm-cx-cat-toggle .mm-cx-cat-ic svg { width: 100%; height: 100%; }
.mm-cx-cat-toggle input:not(:checked) ~ .mm-cx-cat-lbl { opacity: .45; text-decoration: line-through; }
/* Пины-иконки на карте */
.mm-cx-pin { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: #fff; border: 2px solid currentColor; border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.28); }
.mm-cx-pin svg { width: 16px; height: 16px; }
.mm-cx-pin-wrap { background: transparent; border: 0; }

/* Street View блок */
.mm-cx-sv { max-width: 1280px; margin: 0 auto; padding: clamp(24px,4vw,44px) clamp(18px,4vw,64px) 0; }
.mm-cx-sv-frame { position: relative; display: block; border-radius: 14px; overflow: hidden; margin: 14px 0 10px; }
.mm-cx-sv-frame img { display: block; width: 100%; height: auto; }
.mm-cx-sv-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 64px; height: 64px; border-radius: 50%; background: rgba(0,0,0,.5); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 24px; padding-left: 5px; }
.mm-cx-sv-open { position: absolute; bottom: 14px; right: 14px; background: rgba(0,0,0,.6); color: #fff; font-size: 13px; padding: 7px 12px; border-radius: 8px; }
.mm-cx-sv-frame:hover .mm-cx-sv-play { background: rgba(0,0,0,.72); }

/* Застройщик */
.mm-cx-dev { max-width: 1280px; margin: 0 auto; padding: clamp(24px,4vw,44px) clamp(18px,4vw,64px) 0; }
.mm-cx-dev-lead { font-size: 16px; color: var(--mm-ink); margin: 6px 0 16px; }
.mm-cx-dev-dbd { border: 1px solid var(--mm-line); border-radius: 14px; padding: 16px 18px; background: var(--mm-paper); margin-bottom: 16px; }
.mm-cx-dev-dbd-badge { display: inline-block; font-size: 12px; font-weight: 600; color: #2e6b46; background: rgba(46,107,70,.12); padding: 4px 10px; border-radius: 999px; margin-bottom: 12px; }
.mm-cx-dev-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 12px; }
.mm-cx-dev-facts li { display: flex; flex-direction: column; gap: 2px; }
.mm-cx-dev-facts span { font-size: 12px; color: var(--mm-muted); }
.mm-cx-dev-facts strong { font-size: 15px; color: var(--mm-ink); }
.mm-cx-dev-ok { color: #2e6b46; }
.mm-cx-dev-projects-t { font-size: 13px; color: var(--mm-muted); margin-bottom: 8px; }
.mm-cx-dev-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mm-cx-dev-chip { display: inline-block; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--mm-line); background: var(--mm-white); font-size: 13px; color: var(--mm-ink); text-decoration: none; }
.mm-cx-dev-chip.is-link:hover { border-color: var(--mm-olive); color: var(--mm-olive); }

/* Калькулятор: параметры + база сделок */
.mm-cx-params { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 14px 0; }
.mm-cx-params label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: rgba(255,255,255,.72); }
.mm-cx-calc .mm-cx-params select { padding: 10px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; font-size: 14px; background: #fff; color: var(--mm-ink); }
/* Единая высота контролов калькулятора: селекты были 41px, поля ввода 47px. */
.mm-cx-calc .mm-cx-inputs input,
.mm-cx-calc .mm-cx-params select { box-sizing: border-box; height: 44px; }
/* Сегмент «Квартира / Дом» — те же чипы .mm-cx-types, только строкой выше:
   у кондо и вилл ฿/м² несопоставимы, в одной выборке цифра «падала» на трёх
   спальнях. Скрытый чип = в текущем районе/ЖК такого сегмента нет. */
.mm-cx-calc .mm-cx-seg { margin: 18px 0 0; }
.mm-cx-calc .mm-cx-seg button[hidden] { display: none; }
.mm-cx-calc .mm-cx-seg + .mm-cx-scope { margin-top: 10px; }
/* Селекты района и ЖК стоят над чипами — отделяем их от лида. */
.mm-cx-calc .mm-cx-scope { margin: 16px 0 18px; }
.mm-cx-calc .mm-cx-scope select { max-width: 100%; text-overflow: ellipsis; }
.mm-cx-deals { font-size: 13px; color: rgba(255,255,255,.62); margin: 10px 0 0; }

/* График динамики цены */
.mm-cx-chart { max-width: 1280px; margin: 0 auto; padding: clamp(24px,4vw,44px) clamp(18px,4vw,64px) 0; }
.mm-cx-chart-wrap { position: relative; height: 340px; margin: 12px 0 8px; }
@media (max-width: 640px) { .mm-cx-chart-wrap { height: 280px; } }

/* Сравнение ЖК района */
.mm-cx-compare { max-width: 1280px; margin: 0 auto; padding: clamp(24px,4vw,44px) clamp(18px,4vw,64px) 0; }
.mm-cx-cmp-self { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; padding: 12px 16px; border-radius: 12px; background: var(--mm-olive); color: #fff; margin: 8px 0 18px; }
.mm-cx-cmp-self strong { font-size: 16px; }
.mm-cx-cmp-self span { color: rgba(255,255,255,.82); font-size: 14px; }
.mm-cx-cmp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(285px,1fr)); gap: 16px; }
.mm-cx-cmp-card { border: 1px solid var(--mm-line); border-radius: 12px; padding: 14px 16px; background: var(--mm-white); }
.mm-cx-cmp-name { font-weight: 600; font-size: 15px; color: var(--mm-ink); margin-bottom: 6px; }
.mm-cx-cmp-psqm { font-size: 16px; font-weight: 600; color: var(--mm-olive); }
.mm-cx-cmp-psqm em { font-size: 12px; font-weight: 600; margin-left: 4px; font-style: normal; }
.mm-cx-cmp-psqm em.up { color: #b0483a; } .mm-cx-cmp-psqm em.down { color: #2e6b46; }
.mm-cx-cmp-sub { display: block; font-size: 12px; color: var(--mm-muted); margin-top: 2px; }
.mm-cx-cmp-diff { margin-top: 10px; font-size: 12px; }
.mm-cx-cmp-diff-t { display: block; color: var(--mm-muted); margin-bottom: 5px; }
.mm-cx-cmp-chip { display: inline-block; margin: 0 4px 4px 0; padding: 3px 9px; border-radius: 999px; font-size: 12px; }
.mm-cx-cmp-extra .mm-cx-cmp-chip { background: rgba(46,107,70,.1); color: #2e6b46; }
.mm-cx-cmp-missing .mm-cx-cmp-chip { background: rgba(176,72,58,.1); color: #b0483a; }
/* Планировка без фото */
.mm-cx-plan-noimg { position: relative; display: block; }
.mm-cx-plan-soon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 12px; color: var(--mm-muted); background: rgba(255,255,255,.35); }

/* Панорама — вращение кадрами */
.mm-cx-sv-frame { cursor: grab; user-select: none; }
.mm-cx-sv-frame.is-dragging { cursor: grabbing; }
.mm-cx-sv-img { display: block; width: 100%; height: auto; pointer-events: none; }
.mm-cx-sv-hint { position: absolute; top: 14px; left: 14px; background: rgba(0,0,0,.55); color: #fff; font-size: 12px; padding: 6px 10px; border-radius: 8px; pointer-events: none; }
.mm-cx-sv-open { position: absolute; bottom: 14px; right: 14px; background: rgba(0,0,0,.6); color: #fff; font-size: 13px; padding: 7px 12px; border-radius: 8px; text-decoration: none; }
.mm-cx-sv-open:hover { background: rgba(0,0,0,.78); }

/* Иконки удобств (единый стиль с блоком объекта) */
.mm-cx-am-chip { display: inline-flex; align-items: center; gap: 7px; }
.mm-cx-am-ic { display: inline-flex; width: 16px; height: 16px; color: var(--mm-olive); flex: 0 0 auto; }
.mm-cx-am-ic svg { width: 100%; height: 100%; }
/* Финансы DBD */
.mm-cx-dev-fin { margin-top: 14px; border-top: 1px solid var(--mm-line); padding-top: 12px; }
.mm-cx-dev-fin-t { font-size: 12px; color: var(--mm-muted); margin-bottom: 8px; }
.mm-cx-dev-fin-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.mm-cx-dev-fin-table th { text-align: right; font-weight: 500; color: var(--mm-muted); padding: 4px 8px; font-size: 12px; }
.mm-cx-dev-fin-table th:first-child, .mm-cx-dev-fin-table td:first-child { text-align: left; }
.mm-cx-dev-fin-table td { text-align: right; padding: 4px 8px; color: var(--mm-ink); border-top: 1px solid rgba(0,0,0,.05); }
.mm-cx-dev-fin-table td.mm-cx-neg { color: #b0483a; }

/* Аменити — единый «остров» вместо отдельных овалов */
.mm-cx-amenities .mm-cx-am-grid { background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: 18px; padding: clamp(20px,3vw,30px) clamp(22px,3vw,36px); gap: 22px 44px; margin-top: 12px; box-shadow: 0 10px 30px rgba(20,30,24,.05); }
.mm-cx-amenities .mm-cx-am-cat-title { font-weight: 600; font-size: 13px; color: var(--mm-ink); border-bottom: 1px solid var(--mm-line); padding-bottom: 9px; margin-bottom: 11px; }
.mm-cx-amenities .mm-cx-am-chips { display: flex; flex-direction: column; gap: 3px; }
.mm-cx-amenities .mm-cx-am-chip { display: flex; align-items: center; gap: 9px; padding: 5px 0; border: 0; border-radius: 0; background: none; font-size: 14px; color: var(--mm-ink); line-height: 1.35; }
.mm-cx-amenities .mm-cx-am-ic { width: 17px; height: 17px; color: var(--mm-olive); }

/* Панорама — на всю ширину, 80% высоты экрана */
.mm-cx-sv .mm-cx-sv-frame { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); border-radius: 0; height: 80vh; margin-top: 16px; }
.mm-cx-sv .mm-cx-sv-img { width: 100%; height: 100%; object-fit: cover; }

/* Галерея ЖК — коллаж 1 большое + 2×2 + счётчик (как в карточке объекта) */
.mm-prjg-gallery.mm-prjg-collage { display: grid; grid-template-columns: 1.7fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 10px; height: 460px; }
.mm-prjg-gallery.mm-prjg-collage .mm-prjg-photo { position: relative; overflow: hidden; border-radius: 12px; height: 100%; width: 100%; padding: 0; border: 0; cursor: pointer; background: var(--mm-paper); }
.mm-prjg-gallery.mm-prjg-collage .mm-prjg-photo.is-hero { grid-row: 1 / span 2; }
.mm-prjg-gallery.mm-prjg-collage .mm-prjg-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.mm-prjg-gallery.mm-prjg-collage .mm-prjg-photo:hover img { transform: scale(1.04); }
.mm-prjg-more { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(10,15,12,.55); color: #fff; font-size: 28px; font-weight: 600; }
.mm-prjg-more small { display: block; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; margin-top: 3px; }
@media (max-width: 640px) {
    .mm-prjg-gallery.mm-prjg-collage { grid-template-columns: 1fr 1fr; grid-template-rows: 200px 110px 110px; height: auto; }
    .mm-prjg-gallery.mm-prjg-collage .mm-prjg-photo.is-hero { grid-column: 1 / span 2; grid-row: 1; }
}

/* Планировки и цены — редизайн карточек */
.mm-cx-plans-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.mm-cx-plans-lead { color: var(--mm-muted); font-size: 14px; margin: 6px 0 0; max-width: 640px; }
.mm-cx-plans-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.mm-cx-chip { display: inline-block; padding: 6px 13px; border-radius: 999px; background: var(--mm-paper); border: 1px solid var(--mm-line); font-size: 13px; color: var(--mm-ink); white-space: nowrap; }
.mm-cx-plans .mm-cx-plan-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 16px; margin-top: 18px; }
.mm-cx-plans .mm-cx-plan { display: flex; flex-direction: column; border: 1px solid var(--mm-line); border-radius: 16px; overflow: hidden; background: var(--mm-white); }
.mm-cx-plans .mm-cx-plan-img { display: block; width: 100%; border: 0; padding: 0; margin: 0; background: var(--mm-paper); cursor: pointer; }
.mm-cx-plans .mm-cx-plan-img img { width: 100%; height: 200px; object-fit: contain; background: var(--mm-paper); display: block; padding: 10px; }
.mm-cx-plans .mm-cx-plan-noimg { cursor: default; }
.mm-cx-plan-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 9px; }
.mm-cx-plan-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mm-cx-plan-sz { font-size: 26px; font-weight: 600; color: var(--mm-ink); line-height: 1; }
.mm-cx-plan-sz em { font-size: 14px; font-style: normal; color: var(--mm-muted); margin-left: 3px; }
.mm-cx-plan-avail { font-size: 12px; font-weight: 600; padding: 5px 10px; border-radius: 999px; white-space: nowrap; }
.mm-cx-plan-avail.is-on { background: rgba(46,107,70,.12); color: #2e6b46; }
.mm-cx-plan-avail.is-off { background: var(--mm-paper); color: var(--mm-muted); }
.mm-cx-plan-row { display: flex; flex-direction: column; gap: 1px; padding-top: 9px; border-top: 1px solid rgba(0,0,0,.06); }
.mm-cx-plan-k { font-size: 12px; color: var(--mm-muted); }
.mm-cx-plan-v { font-size: 16px; font-weight: 600; color: var(--mm-ink); }
.mm-cx-plan-v.is-muted { font-weight: 500; color: var(--mm-muted); font-size: 14px; }
.mm-cx-plan-btn { display: block; text-align: center; margin-top: 5px; padding: 11px 14px; border-radius: 10px; font-size: 14px; font-weight: 500; cursor: pointer; text-decoration: none; border: 1px solid var(--mm-line); background: var(--mm-white); color: var(--mm-ink); transition: all .15s; }
.mm-cx-plan-btn.is-primary { background: #16211b; color: #fff; border-color: transparent; }
.mm-cx-plan-btn:hover { border-color: var(--mm-olive); }
.mm-cx-plan-btn.is-primary:hover { opacity: .92; }

/* Планы этажей по зданиям */
.mm-cx-bplans { margin-top: 24px; }
.mm-cx-bplans-t { font-size: 16px; margin: 0 0 12px; color: var(--mm-ink); }
.mm-cx-bplan-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.mm-cx-bplan { position: relative; border: 1px solid var(--mm-line); border-radius: 10px; overflow: hidden; padding: 0; cursor: pointer; background: #fff; }
.mm-cx-bplan img { width: 100%; height: 140px; object-fit: contain; background: #fff; padding: 6px; display: block; }
.mm-cx-bplan-lbl { display: block; padding: 7px 10px; font-size: 12px; color: var(--mm-muted); border-top: 1px solid var(--mm-line); text-align: left; }

/* === MM-CX: галерейный режим планировок (нет площадей/цен) === */
.mm-cx-plan-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:18px;}
.mm-cx-gtile{border:1px solid var(--mm-line);border-radius:12px;overflow:hidden;padding:0;background:#fff;cursor:pointer;display:block;text-align:left;}
.mm-cx-gtile img{width:100%;height:190px;object-fit:contain;background:#fafafa;padding:8px;display:block;}
.mm-cx-gtile-lbl{display:block;padding:9px 12px;font-size:13px;color:var(--mm-ink);border-top:1px solid var(--mm-line);}
.mm-cx-gtile:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);}
.mm-cx-plan-sz--type{font-size:15px;font-weight:600;}

/* === MM-CX: планы этажей — полноширинный просмотр + переключатель === */
.mm-cx-bp-viewer{position:relative;display:flex;align-items:center;gap:8px;margin-top:6px;}
.mm-cx-bp-stage{flex:1;min-width:0;position:relative;border:1px solid var(--mm-line);border-radius:14px;overflow:hidden;background:#fff;padding:0;cursor:zoom-in;display:block;}
.mm-cx-bp-stage img{width:100%;height:clamp(320px,52vh,640px);object-fit:contain;background:#fafafa;display:block;padding:10px;}
.mm-cx-bp-zoom{position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:8px;background:rgba(20,20,20,.6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;pointer-events:none;}
.mm-cx-bp-nav{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--mm-line);background:#fff;font-size:22px;line-height:1;cursor:pointer;color:var(--mm-ink);}
.mm-cx-bp-nav:hover{background:var(--mm-ink);color:#fff;}
.mm-cx-bp-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap;}
.mm-cx-bp-cap{font-size:15px;font-weight:600;color:var(--mm-ink);}
.mm-cx-bp-select{padding:8px 12px;border:1px solid var(--mm-line);border-radius:10px;background:#fff;font-size:14px;color:var(--mm-ink);min-width:180px;}
.mm-cx-bp-rail{display:flex;gap:10px;overflow-x:auto;padding:12px 2px 4px;scrollbar-width:thin;}
.mm-cx-bp-thumb{flex:0 0 auto;width:104px;border:1px solid var(--mm-line);border-radius:10px;overflow:hidden;background:#fff;padding:0;cursor:pointer;}
.mm-cx-bp-thumb img{width:100%;height:64px;object-fit:contain;background:#fafafa;display:block;padding:4px;}
.mm-cx-bp-thumb span{display:block;padding:5px 6px;font-size:11px;color:var(--mm-muted);border-top:1px solid var(--mm-line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mm-cx-bp-thumb.is-on{border-color:#4a7d55;box-shadow:0 0 0 2px rgba(74,125,85,.25);}
.mm-cx-bp-thumb.is-on span{color:var(--mm-ink);}
@media(max-width:640px){.mm-cx-bp-nav{display:none;}.mm-cx-bp-stage img{height:44vh;}}

/* === MM-CX: вкладки блока планировок === */
.mm-cx-ptabs-nav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 16px;}
.mm-cx-ptab{padding:9px 18px;border:1px solid var(--mm-line);border-radius:999px;background:#fff;font-size:14px;font-weight:600;color:var(--mm-muted);cursor:pointer;transition:all .15s;}
.mm-cx-ptab:hover{color:var(--mm-ink);border-color:var(--mm-ink);}
.mm-cx-ptab.is-on{background:var(--mm-ink);color:#fff;border-color:var(--mm-ink);}
.mm-cx-ppanel{display:none;}
.mm-cx-ppanel.is-on{display:block;}

/* === MM-CX: крупный просмотрщик планов (1 большой + миниатюры + стрелки) === */
.mm-cx-v-stagewrap{position:relative;}
.mm-cx-v-stage{display:block;width:100%;position:relative;border:1px solid var(--mm-line);border-radius:14px;overflow:hidden;background:#fff;padding:0;cursor:zoom-in;}
.mm-cx-v-stage img{width:100%;height:clamp(420px,72vh,880px);object-fit:contain;background:#fafafa;display:block;padding:10px;}
.mm-cx-v-zoom{position:absolute;right:14px;bottom:14px;width:38px;height:38px;border-radius:9px;background:rgba(20,20,20,.62);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;pointer-events:none;}
.mm-cx-v-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid var(--mm-line);background:rgba(255,255,255,.92);font-size:26px;line-height:1;cursor:pointer;color:var(--mm-ink);box-shadow:0 2px 12px rgba(0,0,0,.14);}
.mm-cx-v-nav:hover{background:var(--mm-ink);color:#fff;}
.mm-cx-v-prev{left:12px;}
.mm-cx-v-next{right:12px;}
.mm-cx-v-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap;}
.mm-cx-v-cap{font-size:16px;font-weight:600;color:var(--mm-ink);}
.mm-cx-v-select{padding:9px 14px;border:1px solid var(--mm-line);border-radius:10px;background:#fff;font-size:14px;color:var(--mm-ink);min-width:170px;}
.mm-cx-v-rail{display:flex;gap:10px;overflow-x:auto;padding:14px 2px 4px;scrollbar-width:thin;}
.mm-cx-v-thumb{flex:0 0 auto;width:116px;border:1px solid var(--mm-line);border-radius:10px;overflow:hidden;background:#fff;padding:0;cursor:pointer;}
.mm-cx-v-thumb img{width:100%;height:70px;object-fit:contain;background:#fafafa;display:block;padding:4px;}
.mm-cx-v-thumb span{display:block;padding:6px 7px;font-size:11px;color:var(--mm-muted);border-top:1px solid var(--mm-line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mm-cx-v-thumb.is-on{border-color:#4a7d55;box-shadow:0 0 0 2px rgba(74,125,85,.28);}
.mm-cx-v-thumb.is-on span{color:var(--mm-ink);}
@media(max-width:640px){
  .mm-cx-v-stage img{height:clamp(240px,54vh,440px);}
  .mm-cx-v-nav{width:38px;height:38px;font-size:21px;}
  .mm-cx-v-prev{left:6px;}
  .mm-cx-v-next{right:6px;}
  .mm-cx-v-thumb{width:92px;}
  .mm-cx-v-thumb img{height:56px;}
  .mm-cx-ptab{padding:8px 14px;font-size:13px;}
}
.mm-cx-v-stage{cursor:zoom-in;}
.mm-cx-v-stage img{height:auto;max-height:84vh;min-height:280px;}
@media(max-width:640px){.mm-cx-v-stage img{max-height:70vh;min-height:180px;}}
.mm-cx-v-stage img{height:auto !important;max-height:none !important;min-height:auto !important;object-fit:contain;}

/* === MM-CX: бейджи застройщика (DBD + надёжный) === */
.mm-cx-dev-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px;}
.mm-cx-dev-trust-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;background:#f5edcf;border:1px solid #d8c377;color:#6b551a;font-size:12px;font-weight:700;letter-spacing:.01em;}
.mm-cx-dev-trust-badge::before{content:"\2714";font-size:11px;color:#b8912f;}
.mm-cx-dev-verified-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;background:#eef3ec;border:1px solid #b9cdb0;color:#40663a;font-size:12px;font-weight:700;letter-spacing:.01em;}
.mm-cx-dev-verified-badge::before{content:"\2714";font-size:11px;color:#5b8a4f;}

/* --- Инфраструктура: подтаблицы «Парковка и лифты» / «Условия и сборы» --- */
.mm-cx-infra .mm-cx-infra-sub {
    margin-top: 16px; background: var(--mm-paper); border: 1px solid var(--mm-line);
    border-radius: 18px; padding: clamp(16px,2.5vw,26px) clamp(18px,3vw,32px);
    box-shadow: 0 10px 30px rgba(20,30,24,.05);
}
.mm-cx-infra .mm-cx-infra-sub .mm-cx-am-cat-title {
    font-weight: 600; font-size: 13px; color: var(--mm-ink);
    border-bottom: 1px solid var(--mm-line); padding-bottom: 9px; margin-bottom: 6px;
}
.mm-cx-kv { width: 100%; border-collapse: collapse; font-size: 14px; }
.mm-cx-kv th, .mm-cx-kv td { text-align: left; padding: 8px 4px; border-bottom: 1px solid var(--mm-line); vertical-align: top; }
.mm-cx-kv th { font-weight: 500; color: var(--mm-muted); width: 48%; }
.mm-cx-kv td { color: var(--mm-ink); font-weight: 600; }
.mm-cx-kv tr:last-child th, .mm-cx-kv tr:last-child td { border-bottom: 0; padding-bottom: 0; }

/* === MM-CX: админ-плашка «офиц. сайт застройщика» === */
.mm-cx-dev-adminsite{margin:10px 0 4px;font-size:13px;color:#7a5f14;background:#fbf6e6;border:1px dashed #d8c377;border-radius:8px;padding:7px 11px;display:inline-block;}
.mm-cx-dev-adminsite a{color:#6b551a;font-weight:600;text-decoration:underline;}

/* infra: parking+fees in 2 cols */
.mm-cx-infra .mm-cx-infra-tables{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;align-items:start;}
@media(max-width:820px){.mm-cx-infra .mm-cx-infra-tables{grid-template-columns:1fr;}}

/* контейнер для новых секций серии и документов (как .mm-cx-facts) */
.mm-cx-series, .mm-cx-docs {
    max-width: 1280px; margin: 0 auto; padding: clamp(24px, 4vw, 44px) clamp(18px, 4vw, 64px) 0;
}
.mm-cx-docs .mm-cx-docs-gallery { max-width: 560px; }

/* === Редизайн ЖК: hero-панель «Комплекс в цифрах» === */
.mm-project-hero-kind{margin:0 0 6px;font:600 12px/1.4 Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--mm-muted);}
.mm-project-hero-lead{margin:10px 0 0;font-size:15px;line-height:1.65;color:var(--mm-muted);}
.mm-project-figures{margin:18px 0 0;padding:18px 20px;border:1px solid var(--mm-line);border-radius:10px;background:#fff;}
.mm-project-figures-t{margin:0 0 12px;font:800 10px/1 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--mm-muted);}
.mm-project-figures-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:14px 18px;}
.mm-project-figure{display:flex;flex-direction:column;gap:3px;min-width:0;}
.mm-project-figure-v{font:400 26px/1 "Cormorant Garamond",Georgia,serif;color:var(--mm-ink);white-space:nowrap;}
.mm-project-figure-k{font-size:12px;line-height:1.35;color:var(--mm-muted);}
.mm-project-figures-sum{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--mm-line);font-size:13px;line-height:1.6;color:var(--mm-muted);}
@media(max-width:640px){
  .mm-project-figures{padding:14px 15px;}
  .mm-project-figure-v{font-size:22px;}
  .mm-project-figures-grid{grid-template-columns:repeat(2,1fr);}
}

/* === Оживление фото-hero: места и районы БЕЗ пролёта (одно правило на обе поверхности) ===
   Видео-режим (.mm-ah-video / .mm-ph-video) не трогаем — там играет ролик. */
.mm-ah-photo .mm-ah-img,
.mm-ph-photo .mm-ph-img{
  animation: mm-kenburns 20s ease-in-out infinite alternate;
  transform-origin: center 42%;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce){
  .mm-ah-photo .mm-ah-img,
  .mm-ph-photo .mm-ph-img{ animation: none; }
}

/* === Объекты ЖК: панель фильтра/сортировки (редизайн) === */
.mm-obj-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 18px;}
.mm-obj-chips{display:flex;gap:8px;flex-wrap:wrap;}
.mm-obj-chip{padding:8px 14px;border:1px solid var(--mm-line);border-radius:999px;background:#fff;font:600 13px Inter,sans-serif;color:var(--mm-muted);cursor:pointer;transition:all .15s;}
.mm-obj-chip i{font-style:normal;opacity:.55;font-size:11px;margin-left:3px;}
.mm-obj-chip:hover{border-color:var(--mm-ink);color:var(--mm-ink);}
.mm-obj-chip.is-on{background:var(--mm-ink);border-color:var(--mm-ink);color:#fff;}
.mm-obj-chip.is-on i{opacity:.7;}
.mm-obj-sort{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mm-muted);}
.mm-obj-sort select{padding:7px 11px;border:1px solid var(--mm-line);border-radius:8px;background:#fff;font-size:13px;color:var(--mm-ink);}
.mm-obj-item[hidden]{display:none!important;}
.mm-obj-empty{margin:18px 0 0;color:var(--mm-muted);font-size:14px;}
@media(max-width:640px){.mm-obj-bar{gap:10px}.mm-obj-sort span{display:none}}

/* ==========================================================================
   ЖК — исправление вёрстки редизайна (2026-07-31)
   Причина: секция «Тур» и блок планов района выпали из общей сетки 1280,
   а вложенные секции внутри вкладок сохранили собственные контейнеры.
   ========================================================================== */

/* 1) «Тур по комплексу» — та же сетка, что у остальных секций ЖК */
.mm-cx-tour {
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(24px, 4vw, 44px) clamp(18px, 4vw, 64px) 0;
}
.mm-cx-tour .mm-cx-ptabs-nav { margin: 0 0 20px; }

/* 2) Внутри вкладок контейнер уже есть снаружи — снимаем двойной отступ */
.mm-cx-tour .mm-cx-ppanel > section,
.mm-cx-tour .mm-cx-ppanel > div {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}

/* 3) Внутренние заголовки дублируют заголовок секции — прячем,
      подписи-источники («Собственная съёмка Montmari») оставляем */
.mm-cx-tour .mm-cx-ppanel .mm-cx-drone-head > .mm-eyebrow,
.mm-cx-tour .mm-cx-ppanel .mm-cx-drone-head > h2,
.mm-cx-tour .mm-cx-ppanel > section > .mm-eyebrow,
.mm-cx-tour .mm-cx-ppanel > section > h2,
.mm-cx-tour .mm-cx-ppanel > div > .mm-section-head { display: none; }

/* 4) Планы развития района на странице ЖК — сузить до сетки ЖК (1280),
      на самой странице района ширина 1500 сохраняется */
.single-houzez_agency .mm-ap-in { max-width: 1280px; }

/* 5) Карточки серии: изображения были разной высоты — заголовки съезжали */
.mm-cx-series-card img {
    aspect-ratio: 4 / 3;
    height: auto;
    object-fit: cover;
}
.mm-cx-series-grid { align-items: stretch; }
.mm-cx-series-card { height: 100%; }

/* 6) «Что есть в комплексе»: колонки тянутся по ширине, группы не рвутся */
.mm-cx-am-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 40px;
    align-items: start;
}
@media (max-width: 900px) { .mm-cx-am-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mm-cx-am-grid { grid-template-columns: 1fr; } }

/* 7) Лента чипов в hero: показываем, что она прокручивается */
.mm-ph-chips { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent 100%);
               mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent 100%); }

/* 8) Объекты в комплексе: по умолчанию 6 карточек + кнопка «показать все» */
.mm-obj-item[hidden] { display: none !important; }
.mm-obj-more {
    display: flex;
    justify-content: center;
    margin: clamp(20px, 3vw, 30px) 0 0;
}
.mm-obj-more button {
    padding: 13px 30px;
    border: 1px solid var(--mm-line);
    border-radius: 999px;
    background: #fff;
    font: 600 13px/1 Inter, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mm-ink);
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease;
}
.mm-obj-more button:hover { background: var(--mm-paper, #f7f3ec); border-color: var(--mm-gold, #ad8b51); }

/* 9) Панорама Street View внутри «Тура» была fullbleed (margin-left:-50vw) —
      внутри карточки с вкладками её нужно держать в сетке */
.mm-cx-tour .mm-cx-sv-frame {
    margin-left: 0;
    margin-right: 0;
    width: auto;
    max-width: 100%;
    border-radius: 14px;
    overflow: hidden;
}

/* 10) Hero с видео: индикатор загрузки перекрывал панель «в цифрах» —
       разводим их по вертикали (видео-режим; в фото-режиме индикатора нет) */
.mm-ph-video .mm-ph-loading { top: 14px; }
.mm-ph-video .mm-ph-nums { margin-top: 26px; }
.mm-ph-crumbs { margin-top: 6px; }

/* ==========================================================================
   ЖК: «Другие проекты серии» и «Что изменится вокруг района» — одна линия
   с горизонтальной промоткой вместо многорядных сеток (2026-07-31)
   ========================================================================== */
.mm-rail {
    position: relative;
}
.mm-rail-track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding-bottom: 4px;
}
.mm-rail-track::-webkit-scrollbar { display: none; }
.mm-rail-track > * {
    scroll-snap-align: start;
    flex: 0 0 clamp(228px, 24%, 300px);
    min-width: 0;
}
.mm-rail-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    display: none;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--mm-line, rgba(32,36,31,.16));
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(20, 30, 24, .14);
    color: var(--mm-ink, #20241f);
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
    z-index: 3;
    transition: background .16s ease, border-color .16s ease;
}
.mm-rail-btn:hover { background: var(--mm-paper, #f7f3ec); border-color: var(--mm-gold, #ad8b51); }
.mm-rail.is-scrollable .mm-rail-btn { display: flex; }
.mm-rail-btn[disabled] { opacity: .3; cursor: default; box-shadow: none; }
.mm-rail-prev { left: -18px; }
.mm-rail-next { right: -18px; }

/* серия комплексов лентой */
.mm-cx-series .mm-cx-series-grid {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding-bottom: 4px;
    overscroll-behavior-x: contain;
}
.mm-cx-series .mm-cx-series-grid::-webkit-scrollbar { display: none; }
.mm-cx-series .mm-cx-series-card {
    scroll-snap-align: start;
    flex: 0 0 clamp(228px, 24%, 296px);
}

/* Планы развития — горизонтальной лентой и на районе, и на странице ЖК.
   Специфичность .mm-ap .mm-ap-grid нужна, чтобы перебить display:grid
   из mm-area-plans.v1.css. */
.mm-ap .mm-ap-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}
.mm-ap .mm-ap-grid::-webkit-scrollbar { display: none; }
.mm-ap .mm-ap-card {
    scroll-snap-align: start;
    flex: 0 0 clamp(268px, 26%, 330px);
}
@media (max-width: 700px) {
    .mm-cx-series .mm-cx-series-card { flex-basis: 74%; }
    .mm-ap .mm-ap-card { flex-basis: 82%; }
    .mm-rail-track > * { flex-basis: 78%; }
    .mm-rail-btn { display: none !important; }
}

/* ==========================================================================
   «Тур по комплексу» — витрина медиа (макет Baan Dusit, 2026-07-31)
   ========================================================================== */
.mm-cx-tour { display: flex; flex-direction: column; gap: 22px; }

.mm-cx-tour-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
}
.mm-cx-tour-intro { display: flex; flex-direction: column; gap: 6px; max-width: 700px; }
.mm-cx-tour-intro h2 { margin: 0; }
.mm-cx-tour-lead {
    margin: 2px 0 0;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--mm-muted, #6d7169);
    text-wrap: pretty;
}
.mm-cx-tour-act { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mm-cx-tour-yt,
.mm-cx-tour-all {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font: 800 11px/1 Inter, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mm-ink, #20241f);
    text-decoration: none;
    border-radius: 999px;
    padding: 12px 18px;
    white-space: nowrap;
    transition: background .16s ease, border-color .16s ease;
}
.mm-cx-tour-yt { background: #fbfaf6; border: 1px solid rgba(32,36,31,.18); }
.mm-cx-tour-yt:hover { border-color: rgba(32,36,31,.34); }
.mm-cx-tour-all { border: 1px solid rgba(173,139,81,.5); color: var(--mm-gold, #ad8b51); }
.mm-cx-tour-all:hover { background: rgba(173,139,81,.08); }

/* ---------- Чипы-фильтры ---------- */
.mm-cx-tour-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mm-cx-tour-chip {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    padding: 10px 16px;
    border: 1px solid rgba(32,36,31,.16);
    border-radius: 999px;
    background: #fff;
    font: 600 13px/1 Inter, sans-serif;
    color: var(--mm-ink, #20241f);
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}
.mm-cx-tour-chip i {
    font-style: normal;
    font-size: 11px;
    color: var(--mm-muted, #6d7169);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 14px;
}
.mm-cx-tour-chip:hover { border-color: rgba(32,36,31,.34); }
.mm-cx-tour-chip.is-on {
    background: var(--mm-ink, #20241f);
    border-color: var(--mm-gold, #ad8b51);
    color: #fff;
}
.mm-cx-tour-chip.is-on i { color: rgba(255,255,255,.66); }

/* ---------- Сетка карточек ---------- */
.mm-cx-tour-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.mm-cx-tour-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    font: inherit;
}
.mm-cx-tour-card[hidden] { display: none; }
.mm-cx-tour-frame {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    border-radius: 10px;
    overflow: hidden;
    background: var(--mm-paper, #f0ece2);
    box-shadow: 0 12px 30px rgba(28, 33, 25, .10);
}
.mm-cx-tour-frame img,
.mm-cx-tour-frame video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}
.mm-cx-tour-card:hover .mm-cx-tour-frame img { transform: scale(1.04); }
.mm-cx-tour-card.is-blur .mm-cx-tour-frame img { filter: blur(5px); transform: scale(1.06); }
.mm-cx-tour-stub {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 800 11px/1 Inter, sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--mm-muted, #6d7169);
}
.mm-cx-tour-kind {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(15, 22, 18, .72);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    font: 800 9.5px/1 Inter, sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #fff;
}
.mm-cx-tour-dur {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 4px 8px;
    border-radius: 6px;
    background: rgba(15, 22, 18, .72);
    font: 600 11px/1 Inter, sans-serif;
    color: #fff;
}
.mm-cx-tour-play {
    position: absolute;
    left: 10px;
    bottom: 10px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    color: #171911;
    font-size: 11px;
    padding-left: 2px;
    transition: transform .18s ease;
}
.mm-cx-tour-card:hover .mm-cx-tour-play { transform: scale(1.08); }
.mm-cx-tour-cap {
    font-size: 13px;
    line-height: 1.45;
    color: var(--mm-ink, #20241f);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mm-cx-tour-foot { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.mm-cx-tour-more {
    padding: 12px 24px;
    border: 1px solid rgba(173,139,81,.5);
    border-radius: 999px;
    background: #fff;
    font: 800 11px/1 Inter, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mm-ink, #20241f);
    cursor: pointer;
}
.mm-cx-tour-more:hover { background: rgba(173,139,81,.08); }
.mm-cx-tour-note { font-size: 12px; color: var(--mm-muted, #6d7169); }

@media (max-width: 1100px) { .mm-cx-tour-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 780px)  { .mm-cx-tour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px)  { .mm-cx-tour-grid { grid-template-columns: 1fr; } }

/* ---------- Лайтбокс ---------- */
.mm-lb {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(16px, 4vw, 48px);
    background: rgba(12, 16, 13, .92);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
.mm-lb[hidden] { display: none; }
.mm-lb-box { position: relative; width: min(1180px, 100%); max-height: 100%; display: flex; flex-direction: column; gap: 12px; }
.mm-lb-media { position: relative; width: 100%; background: #000; border-radius: 12px; overflow: hidden; }
.mm-lb-media img,
.mm-lb-media video { display: block; width: 100%; max-height: 78vh; object-fit: contain; background: #000; }
.mm-lb-media iframe { display: block; width: 100%; height: min(78vh, 660px); border: 0; }
.mm-lb-cap { color: rgba(255,255,255,.86); font-size: 13.5px; line-height: 1.5; }
.mm-lb-close {
    position: absolute;
    top: -46px;
    right: 0;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    color: #fff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}
.mm-lb-close:hover { background: rgba(255,255,255,.26); }
.mm-lb-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    color: #fff;
    font-size: 20px;
    cursor: pointer;
}
.mm-lb-nav:hover { background: rgba(255,255,255,.3); }
.mm-lb-prev { left: 10px; }
.mm-lb-next { right: 10px; }

/* ==========================================================================
   «Форматы домов / квартир» — двухколоночный блок (2026-07-31)
   ========================================================================== */
.mm-cx-formats {
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(24px, 4vw, 44px) clamp(18px, 4vw, 64px) 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
}
.mm-cx-fm-main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.mm-cx-fm-head h2 { margin: 0; }
.mm-cx-fm-lead {
    margin: 6px 0 0;
    max-width: 560px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--mm-muted, #6d7169);
}

/* чипы соседних проектов серии */
.mm-cx-fm-series { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mm-cx-fm-series-t {
    font: 800 9.5px/1 Inter, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mm-muted, #6d7169);
    margin-right: 4px;
}
.mm-cx-fm-series a {
    display: inline-flex;
    align-items: center;
    padding: 9px 15px;
    border: 1px solid rgba(32,36,31,.16);
    border-radius: 999px;
    background: #fff;
    font: 600 12.5px/1 Inter, sans-serif;
    color: var(--mm-ink, #20241f);
    text-decoration: none;
    white-space: nowrap;
    transition: border-color .16s ease, background .16s ease;
}
.mm-cx-fm-series a:hover { border-color: var(--mm-gold, #ad8b51); background: rgba(173,139,81,.07); }

/* карточки форматов */
.mm-cx-fm-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));
    gap: 14px;
}
.mm-cx-fm-card { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.mm-cx-fm-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 4 / 3;
    border: 1px dashed rgba(32,36,31,.26);
    border-radius: 8px;
    background: #fbfaf6;
}
.mm-cx-fm-bd { font: 600 13.5px/1.3 Inter, sans-serif; color: var(--mm-ink, #20241f); }
.mm-cx-fm-area {
    font: 800 13px/1.2 Inter, sans-serif;
    color: var(--mm-ink, #20241f);
    font-variant-numeric: tabular-nums;
}
.mm-cx-fm-cnt {
    align-self: flex-start;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--mm-gold, #ad8b51);
    color: #fff;
    font: 800 9.5px/1.4 Inter, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.mm-cx-fm-card.is-empty .mm-cx-fm-cnt {
    background: #eee7dc;
    color: var(--mm-muted, #6d7169);
}
.mm-cx-fm-card.is-empty .mm-cx-fm-thumb { opacity: .6; }

/* правая панель «Планы этажей» */
.mm-cx-fm-side {
    border: 1px solid rgba(32,36,31,.14);
    border-radius: 10px;
    background: #fbfaf6;
    box-shadow: 0 16px 42px rgba(28,33,25,.08);
    overflow: hidden;
}
.mm-cx-fm-side-t {
    padding: 16px 22px;
    border-bottom: 1px solid rgba(32,36,31,.14);
    font: 800 10px/1 Inter, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mm-gold, #ad8b51);
}
.mm-cx-fm-side-b { padding: 18px 22px 20px; display: flex; flex-direction: column; gap: 14px; }
.mm-cx-fm-side-lead { margin: 0; font-size: 13px; line-height: 1.6; color: var(--mm-muted, #6d7169); }
.mm-cx-fm-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mm-cx-fm-plan {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
}
.mm-cx-fm-plan img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: contain;
    background: #fff;
    border: 1px solid rgba(32,36,31,.14);
    border-radius: 8px;
    display: block;
    padding: 6px;
}
.mm-cx-fm-plan span {
    font-size: 11.5px;
    line-height: 1.35;
    color: var(--mm-muted, #6d7169);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mm-cx-fm-plan:hover img { border-color: var(--mm-gold, #ad8b51); }
.mm-cx-fm-side-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border: 1px solid rgba(32,36,31,.2);
    border-radius: 999px;
    background: #fff;
    font: 800 10.5px/1 Inter, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mm-ink, #20241f);
    text-decoration: none;
    text-align: center;
}
.mm-cx-fm-side-all:hover { border-color: var(--mm-gold, #ad8b51); background: rgba(173,139,81,.07); }

@media (max-width: 980px) {
    .mm-cx-formats { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Фикс невидимых надписей: правило `.mm-preview-shell a { color: inherit }`
   специфичнее одноклассовых правил компонентов, поэтому кнопки наследовали
   цвет фона (чёрный текст на чёрной плашке). Возвращаем им свой цвет.
   ========================================================================== */
.mm-preview-shell .mm-ap-btn { color: var(--mm-paper, #f7f3ec); }
.mm-preview-shell .mm-ph-btn-gold { color: #fff; }
.mm-preview-shell .mm-social-icon { color: var(--mm-ink, #20241f); }

/* ==========================================================================
   «Комплекс в районе» — метрики, чипы с counts, таймлайн мест (2026-07-31)
   ========================================================================== */
.mm-cx-area-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.mm-cx-area-head h2 { margin: 0; }
.mm-cx-area-count { font-size: 12.5px; color: var(--mm-muted, #6d7169); }

/* панель метрик */
.mm-cx-area-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1px;
    margin: 0 0 20px;
    background: rgba(32,36,31,.14);
    border: 1px solid rgba(32,36,31,.14);
    border-radius: 8px;
    overflow: hidden;
}
.mm-cx-area-fact { background: var(--mm-paper, #f7f3ec); padding: 16px 20px; }
.mm-cx-area-fact-v {
    font: 800 20px/1.1 Inter, sans-serif;
    color: var(--mm-ink, #20241f);
    font-variant-numeric: tabular-nums;
}
.mm-cx-area-fact-k {
    margin-top: 5px;
    font: 800 9.5px/1.3 Inter, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mm-muted, #6d7169);
}
.mm-preview-shell .mm-cx-area-cta,
.mm-cx-area-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 24px;
    background: #18231d;
    color: #f7f3ec;
    font: 800 10px/1.3 Inter, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
}
.mm-cx-area-cta span { color: var(--mm-gold, #ad8b51); }
.mm-cx-area-cta:hover { background: #202e26; }

/* счётчик в чипе категории */
.mm-cx-cat-n {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 14px;
    color: var(--mm-muted, #6d7169);
    margin-left: 2px;
}

/* таймлайн мест: расстояние — слева от оси */
.mm-cx-poi-axis {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px 56px;
    align-items: start;
    margin-top: 22px;
}
.mm-cx-poi-col { position: relative; padding-left: 96px; }
.mm-cx-poi-col::before {
    content: "";
    position: absolute;
    left: 96px;
    top: 12px;
    bottom: 12px;
    width: 1px;
    background: rgba(32,36,31,.2);
}
.mm-preview-shell .mm-cx-poi-row,
.mm-cx-poi-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    color: var(--mm-ink, #20241f);
    text-decoration: none;
    font-size: 14px;
    line-height: 1.4;
}
.mm-cx-poi-row[href]:hover .mm-cx-poi-name { color: var(--mm-gold, #ad8b51); }
.mm-cx-poi-dist {
    position: absolute;
    left: -96px;
    width: 84px;
    text-align: right;
    font: 600 11.5px/1.4 Inter, sans-serif;
    color: var(--mm-muted, #6d7169);
    font-variant-numeric: tabular-nums;
}
.mm-cx-poi-dot {
    flex: none;
    width: 9px;
    height: 9px;
    margin-left: -4.5px;
    border-radius: 999px;
    background: var(--mm-gold, #ad8b51);
    box-shadow: 0 0 0 3px var(--mm-paper, #f7f3ec);
}
.mm-cx-poi-axis .mm-cx-poi-ic { flex: none; display: flex; color: var(--mm-gold, #ad8b51); }
.mm-cx-poi-axis .mm-cx-poi-ic svg { width: 15px; height: 15px; }
.mm-cx-poi-row.is-off { display: none; }

@media (max-width: 820px) {
    .mm-cx-poi-axis { grid-template-columns: 1fr; }
}

/* --- График «Цена за м² по годам»: итоги справа от заголовка --- */
.mm-cx-chart-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.mm-cx-chart-head h2 { margin: 0; }
.mm-cx-chart-sum { display: flex; align-items: flex-start; gap: clamp(20px, 3vw, 44px); }
.mm-cx-chart-kpi { text-align: right; }
.mm-cx-chart-kpi-v {
    font: 800 clamp(20px, 2.2vw, 27px)/1.05 Inter, sans-serif;
    color: var(--mm-ink, #20241f);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.mm-cx-chart-kpi-v.is-up { color: #2f6b4a; }
.mm-cx-chart-kpi-v.is-down { color: #b0483a; }
.mm-cx-chart-kpi-k {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.35;
    color: var(--mm-muted, #6d7169);
}
@media (max-width: 700px) {
    .mm-cx-chart-sum { width: 100%; justify-content: space-between; }
    .mm-cx-chart-kpi { text-align: left; }
}

/* --- Серия: ссылка на хаб переехала из полосы под лентой в шапку блока --- */
.mm-cx-series-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.mm-cx-series-head-t { min-width: 0; }
.mm-cx-series-head-t h2 { margin: 0; }
.mm-cx-series-head-t .mm-cx-series-lead { margin: 6px 0 0; }
.mm-preview-shell .mm-cx-series-hub,
.mm-cx-series-hub {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    border: 1px solid rgba(173,139,81,.5);
    border-radius: 999px;
    background: #fff;
    font: 800 11px/1 Inter, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mm-ink, #20241f);
    text-decoration: none;
    white-space: nowrap;
    transition: background .16s ease, border-color .16s ease;
}
.mm-cx-series-hub:hover { background: rgba(173,139,81,.08); border-color: var(--mm-gold, #ad8b51); }
.mm-cx-series-hub-ic,
.mm-cx-series-hub-ar { color: var(--mm-gold, #ad8b51); }
@media (max-width: 640px) {
    .mm-cx-series-hub { width: 100%; justify-content: center; white-space: normal; text-align: center; }
}

/* ==========================================================================
   «Другие комплексы этого района» — сравнение с соседями (2026-07-31)
   ========================================================================== */
.mm-cx-cmp-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.mm-cx-cmp-head-t { max-width: 720px; }
.mm-cx-cmp-head-t h2 { margin: 0; }
.mm-cx-cmp-lead {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--mm-muted, #6d7169);
}
.mm-cx-cmp-count { font-size: 12.5px; color: var(--mm-muted, #6d7169); white-space: nowrap; }

/* строка «мы» */
.mm-cx-cmp-self {
    display: flex;
    align-items: baseline;
    gap: 16px;
    flex-wrap: wrap;
    margin: 0 0 18px;
    padding: 16px 22px;
    border-radius: 8px;
    background: #18231d;
    color: #f7f3ec;
}
.mm-cx-cmp-self strong { font: 600 15px/1.3 Inter, sans-serif; color: #fff; }
.mm-cx-cmp-self span { font: 500 13px/1.5 Inter, sans-serif; color: #e3d8c8; }

/* карточки соседей */
.mm-cx-cmp-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.mm-preview-shell .mm-cx-cmp-card,
.mm-cx-cmp-card {
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(32,36,31,.14);
    border-radius: 10px;
    background: #fbfaf6;
    box-shadow: 0 16px 42px rgba(28,33,25,.08);
    overflow: hidden;
    text-decoration: none;
    color: var(--mm-ink, #20241f);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mm-cx-cmp-card:hover {
    transform: translateY(-2px);
    border-color: rgba(173,139,81,.5);
    box-shadow: 0 22px 52px rgba(28,33,25,.14);
}
.mm-cx-cmp-photo {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    background: var(--mm-paper, #f0ece2);
    overflow: hidden;
}
.mm-cx-cmp-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mm-cx-cmp-photo::after {
    content: "";
    position: absolute;
    inset: 40% 0 0;
    background: linear-gradient(180deg, rgba(12,16,13,0) 0%, rgba(12,16,13,.78) 100%);
}
.mm-cx-cmp-name {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 13px;
    z-index: 2;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 22px;
    line-height: 1.15;
    color: #fff;
    text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.mm-cx-cmp-body { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 18px; }
.mm-cx-cmp-price { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; }
.mm-cx-cmp-price b {
    font: 800 21px/1 Inter, sans-serif;
    font-variant-numeric: tabular-nums;
    color: var(--mm-ink, #20241f);
}
.mm-cx-cmp-price i { font-style: normal; font-size: 13px; color: var(--mm-muted, #6d7169); }
.mm-cx-cmp-price em {
    font-style: normal;
    font: 700 12.5px/1 Inter, sans-serif;
    margin-left: 4px;
}
.mm-cx-cmp-price em.is-up { color: #b0483a; }
.mm-cx-cmp-price em.is-down { color: #2f6b4a; }
.mm-cx-cmp-sub { font-size: 12.5px; line-height: 1.5; color: var(--mm-muted, #6d7169); }
.mm-cx-cmp-extra { display: flex; flex-direction: column; gap: 7px; }
.mm-cx-cmp-extra-t { font-size: 12px; color: var(--mm-muted, #6d7169); }
.mm-cx-cmp-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mm-cx-cmp-chip {
    padding: 5px 11px;
    border-radius: 999px;
    background: #eee7dc;
    font: 500 12px/1.3 Inter, sans-serif;
    color: var(--mm-ink, #20241f);
}
@media (max-width: 1000px) { .mm-cx-cmp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px)  { .mm-cx-cmp-grid { grid-template-columns: 1fr; } }

/* --- Street View: широкая секция перед «Данными комплекса» (2026-08-01) --- */
.mm-cx-sv {
    max-width: none;
    margin: clamp(28px, 4vw, 48px) 0 0;
    padding: 0;
}
.mm-cx-sv .mm-eyebrow,
.mm-cx-sv h2,
.mm-cx-sv .mm-cx-source {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(18px, 4vw, 64px);
    padding-right: clamp(18px, 4vw, 64px);
}
.mm-cx-sv .mm-cx-sv-frame {
    margin: 14px 0 10px;
    width: 100%;
    max-width: none;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
}
.mm-cx-sv .mm-cx-sv-img { width: 100%; }

/* --- Сравнение: ярлыки «чем интересен сосед» (2026-08-01) --- */
.mm-cx-cmp-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.mm-cx-cmp-tag {
    padding: 4px 10px;
    border-radius: 999px;
    font: 700 11px/1.3 Inter, sans-serif;
    border: 1px solid transparent;
}
.mm-cx-cmp-tag.is-up { background: rgba(176,72,58,.10); color: #b0483a; border-color: rgba(176,72,58,.26); }
.mm-cx-cmp-tag.is-down { background: rgba(47,107,74,.10); color: #2f6b4a; border-color: rgba(47,107,74,.26); }
.mm-cx-cmp-tag.is-new { background: rgba(173,139,81,.12); color: #8a6a2f; border-color: rgba(173,139,81,.34); }
.mm-cx-cmp-tag.is-sea { background: rgba(43,143,158,.10); color: #2b8f9e; border-color: rgba(43,143,158,.26); }
.mm-cx-cmp-tag.is-big { background: #eee7dc; color: var(--mm-muted, #6d7169); border-color: rgba(32,36,31,.14); }

/* --- Фото-герой: слайдшоу кадров, когда пролётов нет (2026-08-01) --- */
.mm-ph-shots { position: absolute; inset: 0; }
.mm-ph-shots .mm-ph-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.1s ease;
}
.mm-ph-shots .mm-ph-img.is-on { opacity: 1; }

/* ==========================================================================
   Мобильное (2026-08-01): липкий фильтр объектов, свайп фото, плотность
   ========================================================================== */
@media (max-width: 760px) {
    /* фильтр по спальням не должен уезжать вверх при листании выдачи */
    .mm-obj-bar {
        position: sticky;
        top: 58px;
        z-index: 20;
        margin: 0 calc(-1 * clamp(18px, 4vw, 64px));
        padding: 10px clamp(18px, 4vw, 64px);
        background: rgba(247, 243, 236, .96);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
        border-bottom: 1px solid var(--mm-line, rgba(32,36,31,.14));
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .mm-obj-chips {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .mm-obj-chips::-webkit-scrollbar { display: none; }
    .mm-obj-chip { white-space: nowrap; flex: none; }
    .mm-obj-sort { display: flex; align-items: center; gap: 8px; }
    .mm-obj-sort select { flex: 1; min-width: 0; }

    /* чипы витрины и района — лентой, без переноса в четыре ряда */
    .mm-cx-tour-chips,
    .mm-cx-cat-toggles,
    .mm-cx-fm-series {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 2px;
    }
    .mm-cx-tour-chips::-webkit-scrollbar,
    .mm-cx-cat-toggles::-webkit-scrollbar,
    .mm-cx-fm-series::-webkit-scrollbar { display: none; }
    .mm-cx-tour-chip,
    .mm-cx-cat-toggle,
    .mm-cx-fm-series a { flex: none; white-space: nowrap; }

    /* шапки секций: кнопки под заголовком на всю ширину */
    .mm-cx-tour-act,
    .mm-cx-series-hub,
    .mm-cx-area-cta { width: 100%; justify-content: center; }
    .mm-cx-tour-act { flex-direction: column; align-items: stretch; }

    .mm-cx-area-facts { grid-template-columns: 1fr 1fr; }
    .mm-cx-chart-sum { flex-direction: column; gap: 12px; }
    .mm-cx-cmp-self { flex-direction: column; gap: 6px; }
    .mm-cx-fm-plans { grid-template-columns: 1fr 1fr; }
}

/* свайп фото в карточке каталога */
.mm-card-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .28s ease;
}
.mm-card-slide.is-on { opacity: 1; }
.mm-card-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    display: flex;
    justify-content: center;
    gap: 5px;
    z-index: 3;
    pointer-events: none;
}
.mm-card-dots i {
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: rgba(255,255,255,.55);
    box-shadow: 0 1px 3px rgba(0,0,0,.35);
    transition: background .2s ease, width .2s ease;
}
.mm-card-dots i.is-on { background: #fff; width: 14px; }

/* --- Кнопка «Обсудить» в hero: общее правило для button[data-mm-msg]
       сбрасывало её в текстовую ссылку (padding 0, фон none). Возвращаем вид. --- */
.mm-preview-shell .mm-ph-cta button.mm-ph-btn-gold[data-mm-msg],
.mm-preview-shell .mm-ph-cta button.mm-ph-btn-gold[data-mm-msg]:focus,
.mm-preview-shell .mm-ph-cta button.mm-ph-btn-gold[data-mm-msg]:hover {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 14px 22px;
    border: 1px solid var(--mm-gold, #ad8b51);
    border-radius: 999px;
    background: var(--mm-gold, #ad8b51);
    color: #171911;
    font: 800 11px/1 Inter, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
}
.mm-preview-shell .mm-ph-cta button.mm-ph-btn-gold[data-mm-msg]:hover {
    background: #c1a06a;
    border-color: #c1a06a;
}
/* ==========================================================================
   Район: режимы выдачи «объекты / ЖК» и список комплексов (2026-08-03)
   ========================================================================== */
.mm-view-tabs { display: flex; gap: 4px; padding: 3px; border-radius: 999px; background: rgba(32,36,31,.06); }
.mm-preview-shell .mm-view-tab,
.mm-view-tab {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    font: 600 12.5px/1 Inter, sans-serif;
    color: var(--mm-muted, #6d7169);
    text-decoration: none;
    white-space: nowrap;
    transition: background .16s ease, color .16s ease;
}
.mm-view-tab i { font-style: normal; font-family: "Cormorant Garamond", Georgia, serif; font-size: 14px; opacity: .75; }
.mm-preview-shell .mm-view-tab.is-on,
.mm-view-tab.is-on { background: var(--mm-ink, #20241f); color: #fff; }
.mm-view-tab:hover { color: var(--mm-ink, #20241f); }
.mm-view-tab.is-on:hover { color: #fff; }

/* карточка ЖК в выдаче района */
.mm-preview-shell .mm-proj-card,
.mm-proj-card {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--mm-line, rgba(32,36,31,.14));
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    text-decoration: none;
    color: var(--mm-ink, #20241f);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mm-proj-card:hover { transform: translateY(-2px); border-color: rgba(173,139,81,.5); box-shadow: 0 18px 44px rgba(28,33,25,.12); }
.mm-proj-card-photo { position: relative; display: block; aspect-ratio: 16 / 10; background: var(--mm-paper, #f0ece2); }
.mm-proj-card-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.mm-proj-card-kind {
    position: absolute;
    left: 10px;
    top: 10px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(15,22,18,.72);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    font: 800 9.5px/1 Inter, sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #fff;
}
.mm-proj-card-body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; }
.mm-proj-card-name { font: 600 15px/1.3 Inter, sans-serif; }
.mm-proj-card-meta { font-size: 12.5px; color: var(--mm-muted, #6d7169); }
.mm-proj-card-offers { font: 700 12.5px/1 Inter, sans-serif; color: var(--mm-gold, #ad8b51); }
.mm-proj-card-offers.is-empty { color: var(--mm-muted, #6d7169); font-weight: 500; }

/* список ссылок на комплексы района — всегда в разметке */
.mm-area-projects { max-width: 1500px; margin: 0 auto; padding: clamp(24px, 4vw, 44px) clamp(18px, 4vw, 64px) 0; }
.mm-area-projects-title { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(24px, 2.6vw, 32px); margin: 0 0 14px; }
.mm-area-projects-links { display: flex; flex-wrap: wrap; gap: 8px; }
.mm-preview-shell .mm-area-projects-links a,
.mm-area-projects-links a {
    padding: 8px 14px;
    border: 1px solid var(--mm-line, rgba(32,36,31,.14));
    border-radius: 999px;
    background: #fff;
    font-size: 13px;
    color: var(--mm-ink, #20241f);
    text-decoration: none;
}
.mm-area-projects-links a:hover { border-color: var(--mm-gold, #ad8b51); background: rgba(173,139,81,.07); }

/* сетка комплексов в выдаче района: с открытой картой — 2 колонки, без неё — 3 */
.mm-proj-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mm-results-layout:not(.is-map) .mm-proj-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .mm-proj-grid, .mm-results-layout:not(.is-map) .mm-proj-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .mm-proj-grid, .mm-results-layout:not(.is-map) .mm-proj-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   Район: места притяжения на карте объектов (2026-08-03)
   ========================================================================== */
.mm-area-poi-bar {
    max-width: 1500px;
    margin: 0 auto;
    padding: 14px clamp(18px, 4vw, 64px) 0;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.mm-area-poi-bar-t {
    font: 800 9.5px/1 Inter, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mm-muted, #6d7169);
}
.mm-area-poi-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.mm-area-poi-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 13px;
    border: 1px solid var(--mm-line, rgba(32,36,31,.16));
    border-radius: 999px;
    background: #fff;
    font: 600 12.5px/1 Inter, sans-serif;
    color: var(--mm-ink, #20241f);
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease;
}
.mm-area-poi-chip:hover { border-color: rgba(32,36,31,.34); }
.mm-area-poi-chip input { position: absolute; opacity: 0; pointer-events: none; }
.mm-area-poi-chip.is-on { background: var(--mm-ink, #20241f); border-color: var(--mm-gold, #ad8b51); color: #fff; }
.mm-area-poi-chip.is-on .mm-area-poi-n { color: rgba(255,255,255,.7); }
.mm-area-poi-ic { display: inline-flex; color: var(--mm-gold, #ad8b51); }
.mm-area-poi-ic svg { width: 15px; height: 15px; }
.mm-area-poi-n { font-family: "Cormorant Garamond", Georgia, serif; font-size: 14px; color: var(--mm-muted, #6d7169); }

/* пин места на карте каталога */
.mm-map-poi span {
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: var(--mm-gold, #ad8b51);
    box-shadow: 0 0 0 3px rgba(247,243,236,.9), 0 4px 10px rgba(0,0,0,.25);
}

/* список мест по категориям */
.mm-area-poi-cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 22px 32px;
}
.mm-area-poi-col-t {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 8px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--mm-line, rgba(32,36,31,.14));
    font: 700 13px/1.3 Inter, sans-serif;
}
.mm-area-poi-col-t i { font-style: normal; font-family: "Cormorant Garamond", Georgia, serif; font-size: 15px; color: var(--mm-muted, #6d7169); margin-left: auto; }
.mm-preview-shell .mm-area-poi-row,
.mm-area-poi-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 6px 0;
    font-size: 13.5px;
    line-height: 1.4;
    color: var(--mm-ink, #20241f);
    text-decoration: none;
}
.mm-area-poi-row:hover .mm-area-poi-name { color: var(--mm-gold, #ad8b51); }
.mm-area-poi-dot { flex: none; width: 7px; height: 7px; margin-top: 6px; border-radius: 999px; background: var(--mm-gold, #ad8b51); }
@media (max-width: 700px) {
    .mm-area-poi-bar { flex-direction: column; align-items: stretch; gap: 8px; }
    .mm-area-poi-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .mm-area-poi-chips::-webkit-scrollbar { display: none; }
    .mm-area-poi-chip { flex: none; white-space: nowrap; }
}

/* пин места с иконкой категории */
.mm-map-poi span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: #fff;
    border: 1.5px solid var(--mm-gold, #ad8b51);
    box-shadow: 0 3px 10px rgba(0,0,0,.28);
}
.mm-map-poi span svg { width: 14px; height: 14px; stroke: var(--mm-gold, #ad8b51); fill: none; }
.mm-view-pane[hidden] { display: none !important; }

/* Фикс: кнопка чата Bitrix перекрывает mm-map-pill на мобильном (2026-08-03) */
@media (max-width: 760px) {
    /* Подъём на 94px уводил пилюлю из-под чата, но она садилась на CTA
       первого экрана. Возвращаем её вниз и сдвигаем влево — чат висит
       справа, конфликта нет ни с ним, ни с кнопками hero. */
    .mm-map-pill {
        bottom: calc(18px + env(safe-area-inset-bottom));
        left: 16px;
        transform: none;
    }
}

/* «До моря» в блоке локации объекта (mm-geo-coast). */
.mm-map-head .mm-map-sea {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0 0;
    padding: 7px 13px 7px 10px;
    border: 1px solid var(--mm-line, #e3ded2);
    border-radius: 999px;
    background: #f4f1e8;
    color: var(--mm-ink, #20241f);
    font-size: 15px;
    line-height: 1.2;
}
.mm-map-head .mm-map-sea svg {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    color: #4a7c8c;
}
.mm-map-head .mm-map-sea span { color: var(--mm-muted, #6d7169); }


/* ---- Единая форма заявки: выбор связи, комментарий, память ---- */
.mm-contact-preference,.mm-pref-inline{margin:0 0 12px}
.mm-pref-label{display:block;font-size:12px;color:#4A5A52;margin:0 0 7px}
.mm-pref-opts{display:flex;flex-wrap:wrap;gap:6px}
.mm-pref-pill{font:inherit;font-size:13px;line-height:1;height:34px;padding:0 14px;border-radius:20px;background:#fff;color:#1B2A24;border:1px solid #E2DACC;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.mm-pref-pill:hover{border-color:#C9BCA5}
.mm-pref-pill.is-active{background:#1C2A24;border-color:#1C2A24;color:#F7F3EC}
.mm-lead-comment{margin:0 0 12px}
.mm-lead-comment__head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#4A5A52;margin:0 0 6px}
.mm-lead-comment__head em{font-style:normal;font-size:11px;color:#8B9891}
.mm-lead-comment textarea{width:100%;border:1px solid #E2DACC;border-radius:9px;padding:9px 12px;font:inherit;font-size:14px;line-height:1.45;background:#fff;color:#1B2A24;resize:vertical}
.mm-lead-comment textarea:focus{outline:none;border-color:#9A7B4F}
.mm-lead-known{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:12px;color:#5F6E66;background:#E7DFD1;border-radius:8px;padding:8px 10px;margin:0 0 10px}
.mm-lead-known button{font:inherit;font-size:12px;background:none;border:0;padding:0;color:#9A7B4F;text-decoration:underline;cursor:pointer}


/* ---- Подтверждение отправки заявки ---- */
.mm-lead-sent{background:#EEF3EF;border:1px solid #CFE0D4;border-radius:12px;padding:18px 18px 16px;text-align:left}
.mm-lead-sent__head{margin:0 0 6px;font-size:16px;font-weight:600;color:#1C4B33;display:flex;align-items:center;gap:8px}
.mm-lead-sent__head:before{content:'';width:20px;height:20px;flex:0 0 20px;border-radius:50%;background:#1C4B33 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/13px no-repeat}
.mm-lead-sent__line{margin:0 0 4px;font-size:14px;color:#1B2A24}
.mm-lead-sent__note{margin:0 0 14px;font-size:12px;color:#5F6E66}
.mm-lead-sent__row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.mm-lead-sent__now{display:inline-block;font-size:13px;line-height:1;padding:11px 16px;border-radius:20px;background:#1C2A24;color:#F7F3EC;text-decoration:none}
.mm-lead-sent__now:hover{background:#2A3D34;color:#F7F3EC}
.mm-lead-sent__again{font:inherit;font-size:12px;background:none;border:0;padding:0;color:#5F6E66;text-decoration:underline;cursor:pointer}
.mm-lead-sent__err{margin:10px 0 0;font-size:13px;color:#A32D2D}
.mm-lead-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:99999;background:#1C4B33;color:#F7F3EC;font-size:14px;padding:12px 20px;border-radius:24px;box-shadow:0 6px 24px rgba(0,0,0,.18);transition:opacity .4s,transform .4s}
.mm-lead-toast.is-out{opacity:0;transform:translateX(-50%) translateY(10px)}
@media(max-width:520px){.mm-lead-toast{left:16px;right:16px;transform:none;text-align:center}.mm-lead-toast.is-out{transform:translateY(10px)}}

/* Тема перебивает цвет ссылки — фиксируем контраст на кнопке подтверждения */
.mm-lead-sent a.mm-lead-sent__now,
.mm-lead-sent a.mm-lead-sent__now:link,
.mm-lead-sent a.mm-lead-sent__now:visited,
.mm-lead-sent a.mm-lead-sent__now:hover,
.mm-lead-sent a.mm-lead-sent__now:focus{color:#F7F3EC !important;text-decoration:none}


/* ==========================================================================
   Поиск по сайту (шапка + страница результатов), 2026-08-05
   ========================================================================== */
.mm-search-form { display: flex; align-items: center; gap: 0; }
/* В шапке поле свёрнуто до иконки: развёрнутое оно съедало место у меню
   и «Сопровождение» уезжало на вторую строку. Раскрывается по клику/фокусу. */
.mm-header-actions .mm-search-form input[type="search"] {
    width: 0;
    padding-left: 0;
    padding-right: 0;
    border-width: 1px 0 1px 1px;
    border-color: transparent;
    opacity: 0;
}
.mm-header-actions .mm-search-form.is-open input[type="search"],
.mm-header-actions .mm-search-form:focus-within input[type="search"] {
    width: 176px;
    padding: 0 8px 0 13px;
    border-color: var(--mm-gold, #ad8b51);
    opacity: 1;
}
.mm-header-actions .mm-search-form button { border-radius: 999px; }
.mm-header-actions .mm-search-form.is-open button,
.mm-header-actions .mm-search-form:focus-within button { border-radius: 0 999px 999px 0; }

.mm-search-form input[type="search"] {
    width: 132px;
    height: 34px;
    padding: 0 8px 0 11px;
    border: 1px solid rgba(32,36,31,.18);
    border-right: 0;
    border-radius: 999px 0 0 999px;
    background: #fff;
    font: 400 13px/1 Inter, sans-serif;
    color: var(--mm-ink, #20241f);
    outline: none;
    transition: width .18s ease, border-color .18s ease, opacity .15s ease, padding .18s ease;
    -webkit-appearance: none;
    appearance: none;
}
.mm-search-form input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.mm-search-form input[type="search"]::placeholder { color: var(--mm-muted, #6d7169); }
.mm-search-form input[type="search"]:focus { width: 190px; border-color: var(--mm-gold, #ad8b51); }
.mm-search-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(32,36,31,.18);
    border-radius: 0 999px 999px 0;
    background: #fff;
    color: var(--mm-ink, #20241f);
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.mm-search-form button svg { width: 16px; height: 16px; }
.mm-search-form button:hover { background: var(--mm-gold, #ad8b51); border-color: var(--mm-gold, #ad8b51); color: #fff; }
.mm-search-form input[type="search"]:focus + button { border-color: var(--mm-gold, #ad8b51); }

/* В выдвижном меню поле во всю ширину */
.mm-search-form-drawer { margin: 0 0 14px; }
.mm-search-form-drawer input[type="search"] { width: 100%; height: 42px; font-size: 15px; }
.mm-search-form-drawer input[type="search"]:focus { width: 100%; }
.mm-search-form-drawer button { width: 46px; height: 42px; }

/* Крупная форма на странице результатов */
.mm-search-form-lg { max-width: 520px; margin-top: 18px; }
.mm-search-form-lg input[type="search"] { width: 100%; height: 48px; font-size: 15px; padding-left: 16px; }
.mm-search-form-lg input[type="search"]:focus { width: 100%; }
.mm-search-form-lg button { width: auto; height: 48px; padding: 0 22px; border-radius: 0 999px 999px 0; }

.mm-search-results { max-width: 1500px; margin: 0 auto; padding: 0 clamp(18px, 4vw, 64px) clamp(30px, 5vw, 56px); }
.mm-search-group-t {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(22px, 2.2vw, 28px);
    margin: 26px 0 14px;
    display: flex;
    align-items: baseline;
    gap: 10px;
}
.mm-search-group-t i { font-style: normal; font-size: 15px; color: var(--mm-muted, #6d7169); }

@media (max-width: 1180px) {
    .mm-header-actions .mm-search-form { display: none; } /* остаётся в выдвижном меню */
}

/* Обёртка <picture> вокруг обложек не должна участвовать в раскладке:
   в боковом списке колонка задана через grid, и лишний элемент между
   ссылкой и картинкой сломал бы сетку. display:contents убирает его
   из потока, оставляя сам <img> на прежнем месте. */
.mm-article-hero picture,
.mm-article-related-card picture,
.mm-article-related-list picture { display: contents; }

/* ...но вместе с обёрткой в сетку проваливается и <source>: вне настоящего
   <picture> браузер его больше не прячет. В списке колонок всего две,
   поэтому пустая ячейка сдвигала картинку и подпись. Прячем явно. */
.mm-article-hero picture > source,
.mm-article-related-card picture > source,
.mm-article-related-list picture > source { display: none; }

/* Обёртка <picture> не должна занимать место в раскладке: раскрываем её
   через display:contents, а <source> прячем явно — вне настоящего
   <picture> браузер его больше не скрывает и он становится ячейкой сетки. */
.mm-pic { display: contents; }
.mm-pic > source { display: none; }

/* Пилюля «Карта» уезжала за левый край.
   На мобильном её сдвинули к левому краю (left:16px; transform:none),
   но в кадрах mm-pill-nudge жёстко записан translateX(-50%) — это
   центрирование для широкого экрана. Анимация перебивает transform:none,
   и через 2,5 с (её задержка) кнопка уезжала на 71 px влево.
   Ниже — те же кадры, но без горизонтального сдвига. */
@keyframes mm-pill-nudge-left {
    0%, 86%, 100% { transform: rotate(0) scale(1); }
    88% { transform: rotate(-2.5deg) scale(1.04); }
    90% { transform: rotate(2.5deg) scale(1.04); }
    92% { transform: rotate(-1.5deg) scale(1.02); }
    94% { transform: rotate(1.5deg) scale(1.01); }
    96% { transform: rotate(0) scale(1); }
}
@media (max-width: 760px) {
    .mm-map-pill:not(.is-calm) { animation-name: mm-pill-nudge-left, mm-pill-ring; }
}

/* ---- Контраст мелкого золотого текста на светлом фоне ----
   Брендовое золото #ad8b51 на светлом даёт 2,7–3,05 при норме 4,5.
   На тёмном фоне оно остаётся прежним — там всё в порядке.
   Для текста на светлом заводим тот же тон, но темнее. */
:root { --mm-gold-ink: #765f37; }

/* Номера в оглавлении статьи и подпись над ним */
.mm-article-sidebar .mm-article-nav a span,
.mm-article-sidebar .mm-article-nav p,
/* Ссылка-кнопка в боковой карточке */
.mm-article-sidebar .mm-article-cta-card button,
/* Надпись-рубрика внутри статьи («Другие статьи») */
.mm-article-content .mm-eyebrow,
/* Бейдж категории на карточке соседней статьи */
.mm-article-related-card em { color: var(--mm-gold-ink); }

/* <code> приезжал розовым из bootstrap — мимо палитры и мимо нормы контраста */
.mm-article-content code { color: #3f342c; }

/* Ссылки в нижней строке подвала не отличались от текста ничем —
   ни цветом, ни начертанием. Подчёркиваем. */
.mm-footer-slim-tagline a,
.mm-footer-slim-trust a {
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

/* ================= Контраст: золото по умолчанию тёмное =================
   #ad8b51 на кремовом даёт 2,6–3,2 при норме 4,5. Тёмных поверхностей,
   где светлое золото уместно, всего три — они перечислены ниже отдельно.
   Проверено обходом DOM на главной, статье, карточке ЖК и в каталоге. */
.mm-eyebrow,
.mm-ph-eyebrow,
.mm-ap-eyebrow,
.mm-ap-year,
.mm-ap-src,
.mm-ap-badge,
.mm-h2-eyebrow,
.mm-h2-nav-cap,
.mm-h2-dcap,
.mm-cx-fm-side-t,
.mm-cx-series-offers,
.mm-uf-msheet-title,
.mm-uf-price2-plus,
.mm-uf-ddval { color: var(--mm-gold-ink); }

/* Единственные тёмные поверхности — здесь светлое золото и должно быть. */
.mm-article-hero-content .mm-eyebrow,
.mm-content-block .mm-eyebrow,
.mm-trust-band .mm-eyebrow { color: var(--mm-gold); }

/* Серые оттенки, не дотянувшие до нормы. Затемнены ровно настолько,
   чтобы пройти 4,6 на их собственном фоне — тон не меняли. */
.mm-feature-more { color: #63665f; }
.mm-cx-doc-status { color: #656f78; }
.mm-ap-note { color: #6b6d67; }
.mm-obj-chip i { color: #72756f; }

/* Белая цифра на золотом кружке читалась на 3,18 — затемняем подложку. */
.mm-cx-fm-cnt { background-color: #8a6f41; }

/* Увеличиваем область нажатия у ссылок на районы поверх фото.
   Была высота 13,8 px при норме 24 — пальцем не попасть.
   Надпись не меняется, растёт только зона касания. */
.mm-card-location-links a {
    display: inline-block;
    padding-block: 7px;
}

/* ============== Контраст, второй заход: вес селекторов ==============
   Одиночный класс проигрывал исходным правилам из двух. Повторяем класс
   в селекторе: вес становится как у двух классов, и правило выигрывает,
   оставаясь обычным — без !important. */
.mm-eyebrow.mm-eyebrow,
.mm-ph-eyebrow.mm-ph-eyebrow,
.mm-ap-eyebrow.mm-ap-eyebrow,
.mm-ap-year.mm-ap-year,
.mm-ap-src.mm-ap-src,
.mm-ap-badge.mm-ap-badge,
.mm-h2-eyebrow.mm-h2-eyebrow,
.mm-h2-nav-cap.mm-h2-nav-cap,
.mm-h2-dcap.mm-h2-dcap,
.mm-cx-fm-side-t.mm-cx-fm-side-t,
.mm-cx-series-offers.mm-cx-series-offers,
.mm-uf-msheet-title.mm-uf-msheet-title,
.mm-uf-price2-plus.mm-uf-price2-plus,
.mm-uf-ddval.mm-uf-ddval { color: var(--mm-gold-ink); }

/* Три тёмные поверхности — там светлое золото уместно. Вес такой же,
   но правило идёт ниже, поэтому выигрывает именно оно. */
.mm-article-hero-content .mm-eyebrow.mm-eyebrow,
.mm-cx-calc .mm-eyebrow.mm-eyebrow,
.mm-trust-band .mm-eyebrow.mm-eyebrow { color: var(--mm-gold); }

/* Серые оттенки: тон прежний, светлота уменьшена ровно до нормы. */
.mm-feature-more.mm-feature-more { color: #63665f; }
.mm-cx-doc-status.mm-cx-doc-status { color: #656f78; }
.mm-ap-note.mm-ap-note { color: #6b6d67; }
.mm-cx-cmp-tag.mm-cx-cmp-tag { color: #82642c; }
.mm-cx-fm-cnt.mm-cx-fm-cnt { background-color: #8a6f41; }
.mm-obj-chip i, .mm-cx-tour-chip i, .mm-uf-chip i { color: #72756f; }

/* НАСТОЯЩАЯ ПОЛОМКА, а не придирка проверки: абзац о застройщике был
   почти чёрным (#20241f) на оливковом фоне (#18231d) — контраст 1,02,
   то есть текст не читался вовсе. Возвращаем светлый цвет. */
.mm-cx-dev-lead.mm-cx-dev-lead { color: var(--mm-paper); }

/* ============ Контраст, третий заход ============
   Остатки после сужения исключения: ссылки на источники в карточках
   планов и согласие под формой — то же золото на светлом фоне.
   Тройной класс там, где двойного не хватило, чтобы перебить
   более точное исходное правило. */
.mm-ap-src a,
.mm-contact-agree a { color: var(--mm-gold-ink); }
.mm-ap-note.mm-ap-note.mm-ap-note { color: #6b6d67; }
.mm-ap-badge.mm-ap-badge.mm-ap-badge { color: #5f625b; }
.mm-cx-cmp-tag.mm-cx-cmp-tag.mm-cx-cmp-tag { color: #7d5f2a; }

/* Ссылки на источники: одиночного класса не хватило по весу. */
.mm-ap-src.mm-ap-src a { color: var(--mm-gold-ink); }

/* ===================== Справка внизу страницы типа =====================
   Блок редактируется визуальным редактором в админке, поэтому стили
   навешиваются на обычные теги внутри .mm-ta-in, а не на классы: иначе
   первая же правка текста в редакторе сломает вёрстку. */
.mm-ta {
    background: var(--mm-paper, #f7f3ec);
    padding: 34px 0 44px;
}

.mm-ta-in {
    width: min(920px, calc(100% - 40px));
    margin: 0 auto;
    background: var(--mm-card, #fbfaf6);
    border: 1px solid var(--mm-line, #e6e0d3);
    border-radius: 14px;
    padding: 28px 30px;
}

.mm-ta-in h2 {
    font: 600 26px/1.25 var(--mm-serif, Georgia, serif);
    margin: 0 0 12px;
}

.mm-ta-in h3 {
    font: 800 13px/1.3 Inter, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--mm-gold-ink, #765f37);
    margin: 26px 0 10px;
}

.mm-ta-in p,
.mm-ta-in li {
    font: 400 16px/1.7 Inter, sans-serif;
    color: var(--mm-ink-2, #4a4a45);
}

.mm-ta-in p { margin: 0 0 12px; }
.mm-ta-in ul { margin: 0 0 12px; padding-left: 22px; }
.mm-ta-in li { margin: 0 0 6px; }
.mm-ta-in strong { font-weight: 600; color: var(--mm-ink, #1d1d1b); }

/* Таблица сравнения. На узком экране шапка колонок теряет смысл, поэтому
   там строки складываются, а подписи стран берутся из data-атрибутов. */
.mm-ta-in table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 12px;
    font: 400 15px/1.55 Inter, sans-serif;
}

.mm-ta-in thead th {
    text-align: left;
    font: 800 12px/1.3 Inter, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 0 10px 8px;
    color: var(--mm-ink-3, #6d7169);
}

.mm-ta-in thead th:nth-child(2) { color: var(--mm-gold-ink, #765f37); }

.mm-ta-in tbody th {
    text-align: left;
    font: 600 14px/1.5 Inter, sans-serif;
    color: var(--mm-ink, #1d1d1b);
    padding: 10px;
    width: 26%;
    vertical-align: top;
}

.mm-ta-in tbody td {
    padding: 10px;
    vertical-align: top;
    color: var(--mm-ink-2, #4a4a45);
}

.mm-ta-in tbody tr + tr th,
.mm-ta-in tbody tr + tr td { border-top: 1px solid var(--mm-line, #e6e0d3); }

.mm-ta-in tbody td:first-of-type {
    background: rgba(110, 160, 118, .09);
    border-radius: 8px;
}

/* Плашка с предупреждением: не пугает, но и не даёт проскочить мимо. */
.mm-ta-note {
    display: block;
    background: rgba(173, 139, 81, .12);
    border-left: 3px solid var(--mm-gold-ink, #765f37);
    border-radius: 0;
    padding: 12px 16px;
    margin: 0 0 12px;
    font: 400 15px/1.6 Inter, sans-serif;
    color: var(--mm-ink, #1d1d1b);
}

@media (max-width: 760px) {
    .mm-ta { padding: 24px 0 32px; }
    .mm-ta-in { padding: 20px 18px; border-radius: 12px; }
    .mm-ta-in h2 { font-size: 22px; }

    .mm-ta-in thead { display: none; }
    .mm-ta-in table,
    .mm-ta-in tbody,
    .mm-ta-in tbody tr,
    .mm-ta-in tbody th,
    .mm-ta-in tbody td { display: block; width: auto; }

    .mm-ta-in tbody tr { padding: 12px 0; }
    .mm-ta-in tbody tr + tr { border-top: 1px solid var(--mm-line, #e6e0d3); }
    .mm-ta-in tbody tr + tr th,
    .mm-ta-in tbody tr + tr td { border-top: 0; }
    .mm-ta-in tbody th { padding: 0 0 6px; }
    .mm-ta-in tbody td { padding: 8px 12px; margin: 0 0 6px; }

    /* Без шапки таблицы непонятно, где какая страна — подписываем строки. */
    .mm-ta-in tbody td::before {
        content: attr(data-l);
        display: block;
        font: 800 11px/1.3 Inter, sans-serif;
        letter-spacing: .06em;
        text-transform: uppercase;
        color: var(--mm-ink-3, #6d7169);
        margin: 0 0 3px;
    }
    .mm-ta-in tbody td:first-of-type::before { color: var(--mm-gold-ink, #765f37); }
}

/* ======== Контекстная подсказка о типе недвижимости ========
   Одна строка под заголовком каталога и на карточке объекта.
   Задача — не отвлекать того, кто пришёл смотреть квартиры,
   поэтому свёрнутая подсказка выглядит как обычная строка текста
   и занимает меньше пятидесяти пикселей. */
.mm-hint {
    margin: 0 0 18px;
    max-width: 760px;
}

.mm-hint-q {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    font: 400 15px/1.5 Inter, sans-serif;
    color: var(--mm-ink-2, #4a4a45);
}

.mm-hint-q > span:last-child {
    border-bottom: 1px dashed var(--mm-gold-ink, #765f37);
    padding-bottom: 1px;
}

.mm-hint-q:hover > span:last-child { border-bottom-style: solid; }

/* Кружок с вопросом: даёт понять, что строка кликабельна,
   без слова «подробнее» и без стрелок. */
.mm-hint-ic {
    flex: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--mm-gold-ink, #765f37);
    color: #fff;
    font: 700 12px/20px Inter, sans-serif;
    text-align: center;
    margin-top: 1px;
}

.mm-hint-a {
    margin: 10px 0 0;
    padding: 14px 16px;
    background: rgba(173, 139, 81, .10);
    border-radius: 10px;
}

.mm-hint-a p {
    margin: 0 0 10px;
    font: 400 15px/1.65 Inter, sans-serif;
    color: var(--mm-ink, #1d1d1b);
}

.mm-hint-more {
    font: 600 14px/1.4 Inter, sans-serif;
    color: var(--mm-gold-ink, #765f37);
    border-bottom: 1px solid currentColor;
    text-decoration: none;
}

/* Возврат к объектам из большого блока внизу. */
.mm-ta-back {
    display: inline-block;
    margin-top: 20px;
    font: 600 15px/1.4 Inter, sans-serif;
    color: var(--mm-gold-ink, #765f37);
    border-bottom: 1px solid currentColor;
    text-decoration: none;
}

/* Прокрутка по якорям должна быть плавной, иначе прыжок
   на двадцать экранов дезориентирует. Уважаем и тех,
   кому анимация мешает. */

/* Заголовок каталога закрыт липкой шапкой — при переходе по якорю
   отступаем на её высоту. */
#mm-catalog-top,
#mm-type-about { scroll-margin-top: 90px; }

@media (max-width: 760px) {
    .mm-hint { margin: 0 0 14px; }
    .mm-hint-q { font-size: 14px; }
    .mm-hint-a p { font-size: 14px; }
    #mm-catalog-top,
    #mm-type-about { scroll-margin-top: 74px; }
}

/* ===== Яндекс: мелкий текст на мобильных, порог 12 px =====
   Селекторы и числа — из обхода DOM на телефоне (страница места).
   У каждого правила вес заведомо выше исходного: часть классов живёт
   в mm-place-v8.css, который грузится позже, и равный вес там проигрывает.
   Логотип и подпись под ним сюда намеренно не входят — это часть знака. */
@media (max-width: 760px) {
    /* 199 вхождений, было 9px */
    .mm-pl-row-top .mm-pl-row-kind { font-size: 12px; letter-spacing: .04em; }
    /* 198 вхождений, было 11px */
    .mm-pl-col .mm-pl-row-dist { font-size: 12px; }
    /* 90 вхождений, было 10px */
    .nlp-currency-switcher .nlp-curr-btn.nlp-curr-btn { font-size: 12px; }
    /* 60 вхождений, было 11px — ссылки районов поверх фото карточки */
    .mm-card-image .mm-card-location-links a { font-size: 12px; }
    /* остальное, единицы вхождений */
    .mm-pl-row-body .mm-pl-row-meta,
    .mm-ph-facts .mm-ph-fact span,
    .mm-pl-dstats .mm-pl-dstat span,
    .mm-pl-gfacts .mm-pl-gfact dt,
    .mm-pl-pane .mm-pl-legend span,
    .mm-lang-switch .mm-lang,
    .mm-ph-copy .mm-ph-crumbs a,
    .mm-ph-copy .mm-ph-cta .mm-ph-btn,
    .mm-ph-nums-grid .mm-ph-tile-l,
    .mm-pl-about-links .mm-pl-about-link,
    .mm-pl-about .mm-pl-eyebrow,
    .mm-uf-mchip .mm-uf-mchip-alltext { font-size: 12px; }
}

/* Хвост мелкого текста — единичные вхождения, добраны вторым проходом.
   .mm-brand small (подпись под логотипом, 9px) намеренно пропущена. */
@media (max-width: 760px) {
    .mm-card-idrow .mm-card-id { font-size: 12px; letter-spacing: .05em; }
    .mm-pl-dm-badges .mm-pl-dm-badge,
    .mm-partner-cta__intro .mm-partner-cta__eyebrow,
    .mm-partner-cta__agree span,
    .mm-partner-cta__agree span a,
    .mm-mobile-drawer .mm-drawer-lang-label,
    .mm-ph-copy-main .mm-ph-crumbs,
    .mm-ph-copy .mm-ph-eyebrow,
    .mm-ph-nums .mm-ph-eyebrow,
    .mm-pl-about-main .mm-pl-hours summary,
    .mm-pl-about-main .mm-pl-src,
    .mm-pl-tile .mm-pl-tile-more span,
    .mm-pl-photo-bar .mm-pl-photo-all { font-size: 12px; }
}

/* Последние единичные вхождения мелкого текста. */
@media (max-width: 760px) {
    .mm-pl-about .mm-pl-eyebrow,
    .mm-pl-dist .mm-pl-eyebrow,
    .mm-map-pill span,
    .mm-pl-dist-cta,
    .mm-pl-dm-badges .mm-pl-dm-gmaps,
    .mm-pl-legend .mm-pl-legend-link,
    .mm-pv2-eyebrow,
    .mm-place-secret-badge,
    .mm-drone-pin-n,
    .mm-hero-main .mm-eyebrow,
    .mm-places-hero .mm-eyebrow { font-size: 12px; }
}
