
html { max-width:100%; overflow-x:hidden; overflow-x:clip; }
body.azbuka-mobile-fix-active { max-width:100%; overflow-x:hidden; overflow-x:clip; }
body.azbuka-mobile-fix-active img,
body.azbuka-mobile-fix-active picture,
body.azbuka-mobile-fix-active video,
body.azbuka-mobile-fix-active canvas,
body.azbuka-mobile-fix-active iframe,
body.azbuka-mobile-fix-active svg { max-width:100%; }
body.azbuka-mobile-fix-active .azmf-overflow-item { max-width:100% !important; min-width:0 !important; }

/* Глобальная защита от разъезжающегося текста */
body.azbuka-mobile-fix-active .azmf-text-overflow,
body.azbuka-mobile-fix-active .azmf-text-overflow * {
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  white-space:normal !important;
  max-width:100% !important;
  min-width:0 !important;
}

@media (max-width:760px){
  body.azbuka-mobile-fix-active, body.azbuka-mobile-fix-active * { box-sizing:border-box; }
  body.azbuka-mobile-fix-active main *, body.azbuka-mobile-fix-active footer *, body.azbuka-mobile-fix-active header * { min-width:0; }

  body.azbuka-mobile-fix-active .container,
  body.azbuka-mobile-fix-active .narrow,
  body.azbuka-mobile-fix-active .content-narrow,
  body.azbuka-mobile-fix-active .codex-favorites-page,
  body.azbuka-mobile-fix-active .codex-services-index,
  body.azbuka-mobile-fix-active .codex-promo-page,
  body.azbuka-mobile-fix-active .codex-info-page,
  body.azbuka-mobile-fix-active .codex-service-page,
  body.azbuka-mobile-fix-active .codex-single-property-page,
  body.azbuka-mobile-fix-active .codex-news-single {
    width:calc(100% - 18px) !important; max-width:none !important;
    margin-left:auto !important; margin-right:auto !important;
  }

  /* Любой текст на мобильном должен уметь переноситься */
  body.azbuka-mobile-fix-active h1,
  body.azbuka-mobile-fix-active h2,
  body.azbuka-mobile-fix-active h3,
  body.azbuka-mobile-fix-active h4,
  body.azbuka-mobile-fix-active h5,
  body.azbuka-mobile-fix-active h6,
  body.azbuka-mobile-fix-active p,
  body.azbuka-mobile-fix-active a,
  body.azbuka-mobile-fix-active span,
  body.azbuka-mobile-fix-active strong,
  body.azbuka-mobile-fix-active li,
  body.azbuka-mobile-fix-active dt,
  body.azbuka-mobile-fix-active dd,
  body.azbuka-mobile-fix-active blockquote,
  body.azbuka-mobile-fix-active figcaption {
    max-width:100% !important;
    min-width:0 !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    white-space:normal !important;
  }

  /* Крупные заголовки на всем сайте */
  body.azbuka-mobile-fix-active .entry-title,
  body.azbuka-mobile-fix-active .page-title,
  body.azbuka-mobile-fix-active .single-top h1,
  body.azbuka-mobile-fix-active .hero-copy h1,
  body.azbuka-mobile-fix-active .section-head h2,
  body.azbuka-mobile-fix-active .codex-services-index-hero h1,
  body.azbuka-mobile-fix-active .codex-promo-hero h1,
  body.azbuka-mobile-fix-active .codex-info-hero h1,
  body.azbuka-mobile-fix-active .codex-service-hero h1,
  body.azbuka-mobile-fix-active .codex-services-index-hero__title,
  body.azbuka-mobile-fix-active .codex-promo-hero__title,
  body.azbuka-mobile-fix-active .codex-info-hero__title,
  body.azbuka-mobile-fix-active .codex-service-hero__title,
  body.azbuka-mobile-fix-active .codex-service-page h1,
  body.azbuka-mobile-fix-active .codex-info-page h1,
  body.azbuka-mobile-fix-active .codex-promo-page h1,
  body.azbuka-mobile-fix-active .codex-services-index h1,
  body.azbuka-mobile-fix-active .wp-block-heading,
  body.azbuka-mobile-fix-active .azmf-text-tight {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    font-size:clamp(28px, 8.2vw, 44px) !important;
    line-height:1.07 !important;
    letter-spacing:.01em !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    text-wrap:balance;
  }

  /* Услуги/SEO/текстовые страницы */
  body.azbuka-mobile-fix-active .page-content,
  body.azbuka-mobile-fix-active .entry-content,
  body.azbuka-mobile-fix-active .property-content,
  body.azbuka-mobile-fix-active .codex-news-single-content,
  body.azbuka-mobile-fix-active .codex-service-content,
  body.azbuka-mobile-fix-active .codex-info-content,
  body.azbuka-mobile-fix-active .wp-block-group,
  body.azbuka-mobile-fix-active .wp-block-columns,
  body.azbuka-mobile-fix-active figure,
  body.azbuka-mobile-fix-active .wp-caption {
    width:100% !important; max-width:100% !important; min-width:0 !important;
  }

  body.azbuka-mobile-fix-active .wp-block-columns {
    flex-wrap:wrap !important;
  }

  body.azbuka-mobile-fix-active .wp-block-column {
    flex-basis:100% !important;
  }

  /* Шапка */
  body.azbuka-mobile-fix-active .site-header .header-top.container{
    display:flex !important; align-items:center !important; width:100% !important;
    min-height:62px !important; padding:8px 8px 6px !important; gap:6px !important; flex-wrap:nowrap !important;
  }
  body.azbuka-mobile-fix-active .site-header .brand-wrap,
  body.azbuka-mobile-fix-active .site-header .custom-logo-link,
  body.azbuka-mobile-fix-active .site-header .brand{
    position:static !important; margin:0 !important; transform:none !important;
    flex:0 0 110px !important; width:110px !important; max-width:110px !important;
  }
  body.azbuka-mobile-fix-active .site-header img.custom-logo,
  body.azbuka-mobile-fix-active .site-header img.codex-header-logo{
    display:block !important; width:110px !important; height:42px !important;
    max-width:110px !important; object-fit:contain !important; object-position:left center !important;
  }
  body.azbuka-mobile-fix-active .site-header .mobile-menu-toggle{
    order:6 !important; position:static !important; display:inline-grid !important; place-items:center !important;
    width:34px !important; min-width:34px !important; height:34px !important; margin-left:0 !important;
    padding:0 !important; border-radius:50% !important;
  }
  body.azbuka-mobile-fix-active .site-header .header-actions{
    position:static !important; display:flex !important; align-items:center !important; justify-content:flex-end !important;
    flex:1 1 auto !important; width:auto !important; max-width:none !important; margin:0 0 0 auto !important;
    gap:5px !important; overflow:visible !important; transform:none !important;
  }
  body.azbuka-mobile-fix-active .site-header .codex-vk-header-link,
  body.azbuka-mobile-fix-active .site-header .codex-realtor-header-link,
  body.azbuka-mobile-fix-active .site-header .codex-header-favorite-link,
  body.azbuka-mobile-fix-active .site-header .header-actions > .button-primary,
  body.azbuka-mobile-fix-active .site-header .mobile-menu-toggle{
    flex:0 0 34px !important; width:34px !important; min-width:34px !important; max-width:34px !important;
    height:34px !important; min-height:34px !important; padding:0 !important; margin:0 !important;
  }
  body.azbuka-mobile-fix-active .site-header .header-phone,
  body.azbuka-mobile-fix-active .site-header .codex-header-phone-stack,
  body.azbuka-mobile-fix-active .site-header .header-actions > .button-outline:not(.codex-realtor-header-link){ display:none !important; }

  /* Полоса с телефонами под шапкой */
  body.azbuka-mobile-fix-active .azmf-contact-strip{
    display:flex !important; justify-content:space-between !important; align-items:center !important;
    gap:10px !important; width:calc(100% - 18px) !important; margin:0 auto 8px !important;
    padding:8px 10px !important; background:#f6f8fb !important; border:1px solid rgba(16,41,76,.08) !important;
    border-radius:12px !important; font-size:13px !important; line-height:1.2 !important;
  }
  body.azbuka-mobile-fix-active .azmf-contact-strip a{
    display:flex !important; align-items:center !important; gap:6px !important; max-width:48% !important;
    color:#12345a !important; text-decoration:none !important; font-weight:700 !important; white-space:nowrap !important;
  }
  body.azbuka-mobile-fix-active .azmf-contact-strip .azmf-city{ justify-content:flex-end !important; text-align:right !important; }
  body.azbuka-mobile-fix-active .azmf-contact-strip .azmf-icon{
    display:inline-grid !important; place-items:center !important; width:22px !important; height:22px !important;
    border-radius:50% !important; background:#0a7bc7 !important; color:#fff !important; font-size:12px !important; flex:0 0 22px !important;
  }

  /* Тёмное мобильное меню */
  body.azbuka-mobile-fix-active .codex-mobile-menu-overlay{
    background:
      linear-gradient(180deg, rgba(6,18,42,.95) 0%, rgba(10,35,76,.93) 44%, rgba(9,53,108,.92) 100%) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }
  body.azbuka-mobile-fix-active .codex-mobile-menu-inner{
    background:
      linear-gradient(135deg, rgba(15,36,69,.92) 0%, rgba(24,68,122,.90) 52%, rgba(85,161,219,.70) 100%) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:0 16px 40px rgba(3,12,28,.35) !important;
    padding-bottom:92px !important;
  }
  body.azbuka-mobile-fix-active .codex-mobile-menu-nav a,
  body.azbuka-mobile-fix-active .codex-mobile-menu-nav button,
  body.azbuka-mobile-fix-active .codex-mobile-menu-inner .button,
  body.azbuka-mobile-fix-active .codex-mobile-menu-inner .button-outline,
  body.azbuka-mobile-fix-active .codex-mobile-menu-inner .button-primary{
    color:#ffffff !important;
    text-shadow:0 1px 2px rgba(0,0,0,.35) !important;
  }
  body.azbuka-mobile-fix-active .codex-mobile-menu-nav a{
    background:rgba(255,255,255,.12) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important;
  }
  body.azbuka-mobile-fix-active .codex-mobile-menu-close{
    background:rgba(255,255,255,.18) !important;
    border:1px solid rgba(255,255,255,.25) !important;
    color:#fff !important;
  }
  body.azbuka-mobile-fix-active .codex-mobile-menu-footer,
  body.azbuka-mobile-fix-active .codex-mobile-menu-contacts,
  body.azbuka-mobile-fix-active .codex-mobile-menu-bottom{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 62px !important;
    gap:10px !important;
    align-items:stretch !important;
    width:100% !important;
    margin-top:14px !important;
    position:sticky !important;
    bottom:0 !important;
    background:linear-gradient(180deg, rgba(15,36,69,.02) 0%, rgba(15,36,69,.74) 26%, rgba(15,36,69,.90) 100%) !important;
    padding-top:10px !important;
  }
  body.azbuka-mobile-fix-active .codex-mobile-menu-footer a,
  body.azbuka-mobile-fix-active .codex-mobile-menu-contacts a,
  body.azbuka-mobile-fix-active .codex-mobile-menu-bottom a{
    min-height:52px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    padding:10px 8px !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.92) !important;
    color:#153b66 !important;
    font-weight:800 !important;
    text-decoration:none !important;
    box-shadow:0 10px 24px rgba(4,14,30,.14) !important;
    white-space:normal !important;
    line-height:1.15 !important;
  }
  body.azbuka-mobile-fix-active .codex-mobile-menu-footer a:last-child,
  body.azbuka-mobile-fix-active .codex-mobile-menu-contacts a:last-child,
  body.azbuka-mobile-fix-active .codex-mobile-menu-bottom a:last-child{
    background:#5ca8f1 !important;
    color:#fff !important;
  }

  /* Поиск и кнопки */
  body.azbuka-mobile-fix-active .hero-search,
  body.azbuka-mobile-fix-active .filters-grid,
  body.azbuka-mobile-fix-active .form-grid,
  body.azbuka-mobile-fix-active .form-grid.three,
  body.azbuka-mobile-fix-active .inquiry-form,
  body.azbuka-mobile-fix-active .mortgage-grid,
  body.azbuka-mobile-fix-active .codex-mortgage__grid,
  body.azbuka-mobile-fix-active .codex-lead-form{
    display:grid !important; grid-template-columns:minmax(0,1fr) !important; width:100% !important; gap:11px !important;
  }
  body.azbuka-mobile-fix-active input,
  body.azbuka-mobile-fix-active select,
  body.azbuka-mobile-fix-active textarea { width:100% !important; font-size:16px !important; }

  body.azbuka-mobile-fix-active .hero-search .button-search,
  body.azbuka-mobile-fix-active .hero-search .button-map,
  body.azbuka-mobile-fix-active .search-panel .button-search,
  body.azbuka-mobile-fix-active .search-panel .button-map,
  body.azbuka-mobile-fix-active .search-panel button,
  body.azbuka-mobile-fix-active .hero-search button{
    width:100% !important; max-width:100% !important; min-width:0 !important;
    min-height:56px !important; height:auto !important; padding:12px 14px !important;
    white-space:normal !important; overflow:visible !important; text-overflow:clip !important;
    word-break:break-word !important; line-height:1.2 !important; font-size:15px !important;
    display:flex !important; align-items:center !important; justify-content:center !important; text-align:center !important;
  }


  /* Компактная кнопка количества предложений только на телефоне */
  body.azbuka-mobile-fix-active.home
  .search-panel form.hero-search
  .button-search.azmf-mobile-offer-button{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    padding-left:8px !important;
    padding-right:8px !important;
    white-space:nowrap !important;
    word-break:normal !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    font-size:15px !important;
    line-height:1.1 !important;
    justify-self:stretch !important;
  }

  /* Сетки */
  body.azbuka-mobile-fix-active .category-grid,
  body.azbuka-mobile-fix-active .property-grid,
  body.azbuka-mobile-fix-active .catalog-grid,
  body.azbuka-mobile-fix-active .service-grid,
  body.azbuka-mobile-fix-active .map-promo-grid,
  body.azbuka-mobile-fix-active .about-grid,
  body.azbuka-mobile-fix-active .contact-box,
  body.azbuka-mobile-fix-active .footer-grid,
  body.azbuka-mobile-fix-active .contacts-grid,
  body.azbuka-mobile-fix-active .catalog-layout,
  body.azbuka-mobile-fix-active .single-layout,
  body.azbuka-mobile-fix-active .auth-grid,
  body.azbuka-mobile-fix-active .steps,
  body.azbuka-mobile-fix-active .codex-category-grid,
  body.azbuka-mobile-fix-active .codex-home-services__grid,
  body.azbuka-mobile-fix-active .codex-agent-grid,
  body.azbuka-mobile-fix-active .codex-favorites-grid,
  body.azbuka-mobile-fix-active .codex-info-grid,
  body.azbuka-mobile-fix-active .codex-showcase__inner,
  body.azbuka-mobile-fix-active .codex-referral-banner__wrap { grid-template-columns:minmax(0,1fr) !important; width:100% !important; max-width:100% !important; gap:16px !important; }

  body.azbuka-mobile-fix-active .owner-grid,
  body.azbuka-mobile-fix-active .single-top,
  body.azbuka-mobile-fix-active .catalog-toolbar,
  body.azbuka-mobile-fix-active .account-header,
  body.azbuka-mobile-fix-active .submit-actions,
  body.azbuka-mobile-fix-active .footer-bottom,
  body.azbuka-mobile-fix-active .codex-feature-strip,
  body.azbuka-mobile-fix-active .codex-hero-actions,
  body.azbuka-mobile-fix-active .codex-referral-banner__actions{
    display:flex !important; flex-direction:column !important; align-items:stretch !important; width:100% !important; gap:12px !important;
  }

  body.azbuka-mobile-fix-active .category-card,
  body.azbuka-mobile-fix-active .property-card,
  body.azbuka-mobile-fix-active .service-card,
  body.azbuka-mobile-fix-active .codex-category-card,
  body.azbuka-mobile-fix-active .codex-home-service,
  body.azbuka-mobile-fix-active .codex-featured-object,
  body.azbuka-mobile-fix-active .codex-agent,
  body.azbuka-mobile-fix-active .codex-info-card,
  body.azbuka-mobile-fix-active .codex-favorite-card { width:100% !important; max-width:100% !important; min-width:0 !important; }

  body.azbuka-mobile-fix-active .property-title,
  body.azbuka-mobile-fix-active .property-address,
  body.azbuka-mobile-fix-active .single-address,
  body.azbuka-mobile-fix-active .footer-grid a,
  body.azbuka-mobile-fix-active .footer-grid p { overflow-wrap:anywhere !important; white-space:normal !important; }

  body.azbuka-mobile-fix-active .map-preview iframe,
  body.azbuka-mobile-fix-active .contacts-map iframe,
  body.azbuka-mobile-fix-active .single-map iframe,
  body.azbuka-mobile-fix-active .catalog-map iframe { width:100% !important; max-width:100% !important; height:330px !important; }

  /* Cookie */
  body.azbuka-mobile-fix-active .cookie-note{
    left:10px !important; right:10px !important; width:auto !important; max-width:none !important;
    flex-direction:column !important; align-items:stretch !important; gap:12px !important; padding-right:44px !important;
  }
  body.azbuka-mobile-fix-active .azmf-cookie-close{
    position:absolute !important; top:10px !important; right:10px !important; width:28px !important; height:28px !important;
    border:0 !important; border-radius:50% !important; background:#eef3f8 !important; color:#173a63 !important;
    font-size:18px !important; line-height:1 !important; cursor:pointer !important;
  }

  body.azbuka-mobile-fix-active .section-head{ display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:14px !important; }
}

@media (max-width:420px){
  body.azbuka-mobile-fix-active.home
  .search-panel form.hero-search
  .button-search.azmf-mobile-offer-button{
    padding-left:5px !important;
    padding-right:5px !important;
    font-size:14px !important;
  }

  body.azbuka-mobile-fix-active .site-header .brand-wrap,
  body.azbuka-mobile-fix-active .site-header .custom-logo-link,
  body.azbuka-mobile-fix-active .site-header .brand{ flex:0 0 96px !important; width:96px !important; max-width:96px !important; }
  body.azbuka-mobile-fix-active .site-header img.custom-logo,
  body.azbuka-mobile-fix-active .site-header img.codex-header-logo{ width:96px !important; max-width:96px !important; height:38px !important; }
  body.azbuka-mobile-fix-active .site-header .codex-vk-header-link,
  body.azbuka-mobile-fix-active .site-header .codex-realtor-header-link,
  body.azbuka-mobile-fix-active .site-header .codex-header-favorite-link,
  body.azbuka-mobile-fix-active .site-header .header-actions > .button-primary,
  body.azbuka-mobile-fix-active .site-header .mobile-menu-toggle{ flex:0 0 31px !important; width:31px !important; min-width:31px !important; max-width:31px !important; height:31px !important; min-height:31px !important; }
  body.azbuka-mobile-fix-active .azmf-contact-strip{ font-size:12px !important; padding:7px 8px !important; }
  body.azbuka-mobile-fix-active .codex-mobile-menu-footer,
  body.azbuka-mobile-fix-active .codex-mobile-menu-contacts,
  body.azbuka-mobile-fix-active .codex-mobile-menu-bottom{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 56px !important;
    gap:8px !important;
  }
  body.azbuka-mobile-fix-active .codex-mobile-menu-footer a,
  body.azbuka-mobile-fix-active .codex-mobile-menu-contacts a,
  body.azbuka-mobile-fix-active .codex-mobile-menu-bottom a{
    min-height:48px !important; padding:8px 6px !important; font-size:12px !important;
  }
}


/* =========================================================
 * 1.4.0 — четыре карточки недвижимости на мобильном
 * Текст полностью остаётся внутри изображения, кнопка справа.
 * ========================================================= */
@media (max-width: 760px) {
  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-grid {
    width: calc(100% - 28px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 220px !important;
    padding: 0 !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background-position: center center !important;
  }

  /* Затемнение слева улучшает читаемость текста, но не скрывает фото. */
  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card::before {
    background:
      linear-gradient(
        90deg,
        rgba(4, 21, 38, .78) 0%,
        rgba(4, 28, 53, .58) 43%,
        rgba(5, 31, 57, .22) 70%,
        rgba(5, 31, 57, .04) 100%
      ) !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card > div {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card h3 {
    left: 20px !important;
    right: 116px !important;
    top: 22px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    font-size: clamp(25px, 7vw, 31px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card ul {
    left: 20px !important;
    right: 118px !important;
    top: 70px !important;
    bottom: 62px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    gap: 7px !important;
    overflow: visible !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card li,
  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card li a,
  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card li span {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(15px, 4.25vw, 18px) !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  /* Кнопка на всех четырёх карточках — строго справа снизу. */
  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card__button {
    left: auto !important;
    right: 16px !important;
    bottom: 15px !important;
    width: auto !important;
    min-width: 104px !important;
    max-width: calc(100% - 32px) !important;
    min-height: 42px !important;
    padding: 9px 17px !important;
    border-radius: 7px !important;
    font-size: 16px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    z-index: 4 !important;
  }

  /* Высота под фактическое количество строк в каждой карточке. */
  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card--new {
    min-height: 220px !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card--secondary {
    min-height: 242px !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card--commercial {
    min-height: 210px !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card--country {
    min-height: 270px !important;
  }

  /* В загородной карточке шесть пунктов размещаем компактно в две колонки. */
  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card--country ul {
    right: 20px !important;
    bottom: 66px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 12px !important;
    row-gap: 8px !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card--country li,
  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card--country li a,
  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card--country li span {
    font-size: clamp(14px, 3.8vw, 17px) !important;
  }
}

/* На очень узких экранах оставляем безопасный запас под кнопку. */
@media (max-width: 380px) {
  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card h3 {
    right: 104px !important;
    font-size: 24px !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card ul {
    right: 106px !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card__button {
    right: 13px !important;
    min-width: 94px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
    font-size: 15px !important;
  }

  body.home.azbuka-mobile-fix-active.codex-mcnkon-skin .codex-category-card--country ul {
    right: 16px !important;
  }
}


/* =========================================================
 * 1.5.0 — убираем нижний блок телефонов/VK в мобильном меню
 * ========================================================= */
@media (max-width: 760px) {
  body.azbuka-mobile-fix-active .codex-mobile-menu-footer,
  body.azbuka-mobile-fix-active .codex-mobile-menu-contacts,
  body.azbuka-mobile-fix-active .codex-mobile-menu-bottom {
    display: none !important;
  }

  body.azbuka-mobile-fix-active .codex-mobile-menu-inner {
    padding-bottom: 28px !important;
  }
}


/* =========================================================
 * 1.6.0 — телефоны под шапкой:
 * вниз скрываются, вверх появляются
 * ========================================================= */
@media (max-width: 760px) {
  body.azbuka-mobile-fix-active .azmf-contact-strip {
    position: sticky !important;
    top: var(--azmf-mobile-header-height, 0px) !important;
    z-index: 9990 !important;
    transition:
      transform .24s ease,
      opacity .20s ease,
      visibility .20s ease !important;
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    will-change: transform, opacity !important;
  }

  body.azbuka-mobile-fix-active .azmf-contact-strip.azmf-contact-strip--hidden {
    transform: translate3d(0, calc(-100% - 10px), 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.azbuka-mobile-fix-active.azmf-scroll-up .azmf-contact-strip,
  body.azbuka-mobile-fix-active.azmf-at-page-top .azmf-contact-strip {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}


/* =========================================================
 * 1.9.0 — НАДЁЖНОЕ МОБИЛЬНОЕ МЕНЮ
 *
 * Старые Codex/fallback меню на мобильном скрыты.
 * Используется отдельное .azmf-menu-overlay, поэтому больше нет
 * конкуренции между несколькими обработчиками и стилями.
 * ========================================================= */
@media (max-width: 760px) {
  /* Бургер всегда поверх обычной шапки и принимает нажатие. */
  body.azbuka-mobile-fix-active .site-header .mobile-menu-toggle {
    position: relative !important;
    z-index: 2147482000 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  /* Отключаем старые мобильные панели: их заменяет новое меню 1.9.0. */
  body.azbuka-mobile-fix-active .codex-mobile-menu-overlay {
    display: none !important;
    pointer-events: none !important;
  }

  body.azbuka-mobile-fix-active .site-header .nav-row.open,
  body.azbuka-mobile-fix-active .site-header .nav-row.is-open {
    display: none !important;
  }

  body.azmf-menu-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  body.azbuka-mobile-fix-active .azmf-menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;

    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;

    padding:
      calc(env(safe-area-inset-top, 0px) + 10px)
      10px
      calc(env(safe-area-inset-bottom, 0px) + 12px) !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    /* Реально прозрачная подложка + сильное размытие страницы за меню. */
    background:
      radial-gradient(circle at 12% 8%, rgba(255,255,255,.13), transparent 34%),
      linear-gradient(145deg, rgba(5,20,48,.34), rgba(20,87,217,.18) 52%, rgba(80,151,236,.15)) !important;

    backdrop-filter: blur(24px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(145%) !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transition: opacity .18s ease, visibility .18s ease !important;
  }

  body.azbuka-mobile-fix-active .azmf-menu-overlay.azmf-menu-overlay--open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.azbuka-mobile-fix-active .azmf-menu-panel {
    position: relative !important;
    width: min(100%, 520px) !important;
    max-width: 520px !important;
    min-width: 0 !important;

    margin: 0 auto !important;
    padding: 12px 12px 18px !important;

    border: 1px solid rgba(255,255,255,.35) !important;
    border-radius: 26px !important;

    background:
      linear-gradient(145deg, rgba(255,255,255,.16), rgba(120,174,236,.10) 54%, rgba(255,255,255,.08)) !important;

    backdrop-filter: blur(18px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(135%) !important;

    box-shadow:
      0 18px 46px rgba(3,14,34,.28),
      inset 0 1px 0 rgba(255,255,255,.30) !important;

    overflow: hidden !important;
  }

  /* Зеркальная внутренняя кромка. */
  body.azbuka-mobile-fix-active .azmf-menu-panel::before {
    content: "" !important;
    position: absolute !important;
    inset: 7px !important;
    border-radius: 21px !important;
    border: 1px solid rgba(255,255,255,.17) !important;
    pointer-events: none !important;
  }

  body.azbuka-mobile-fix-active .azmf-menu-logo {
    position: relative !important;
    z-index: 1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: calc(100% - 48px) !important;
    min-height: 66px !important;
    margin: 2px auto 12px !important;
    padding: 7px 10px !important;

    border-radius: 19px !important;
    border: 1px solid rgba(255,255,255,.62) !important;
    background: rgba(255,255,255,.92) !important;

    box-shadow:
      0 8px 22px rgba(4,22,52,.10),
      inset 0 1px 0 rgba(255,255,255,.86) !important;
  }

  body.azbuka-mobile-fix-active .azmf-menu-logo img {
    display: block !important;
    width: 100% !important;
    max-width: 430px !important;
    max-height: 74px !important;
    object-fit: contain !important;
  }

  body.azbuka-mobile-fix-active .azmf-menu-logo-text {
    color: #1457d9 !important;
    font-size: 21px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    text-align: center !important;
  }

  body.azbuka-mobile-fix-active .azmf-menu-nav {
    position: relative !important;
    z-index: 1 !important;

    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ВСЕ пункты, включая «Недвижимость», абсолютно одинаковые. */
  body.azbuka-mobile-fix-active .azmf-menu-nav > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 48px !important;

    margin: 0 !important;
    padding: 11px 14px !important;

    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.70) !important;

    background:
      linear-gradient(180deg, rgba(255,255,255,.88), rgba(241,247,255,.74)) !important;

    backdrop-filter: blur(10px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(120%) !important;

    color: #174c87 !important;
    text-decoration: none !important;
    text-align: center !important;

    font-size: 16px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;

    box-shadow:
      0 6px 16px rgba(5,25,55,.09),
      inset 0 1px 0 rgba(255,255,255,.82) !important;

    box-sizing: border-box !important;
  }

  body.azbuka-mobile-fix-active .azmf-menu-nav > a:active {
    transform: scale(.985) !important;
  }

  /* Красный крестик меньше, но контрастный. */
  body.azbuka-mobile-fix-active .azmf-menu-close {
    position: absolute !important;
    top: 9px !important;
    right: 9px !important;
    z-index: 5 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 2px solid #df2020 !important;
    border-radius: 999px !important;

    background: rgba(255,255,255,.97) !important;
    color: #df2020 !important;

    box-shadow: 0 6px 16px rgba(100,0,0,.17) !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 900 !important;

    cursor: pointer !important;
    touch-action: manipulation !important;
  }

  body.azbuka-mobile-fix-active .azmf-menu-close:active {
    transform: scale(.94) !important;
  }
}
