/* NM_BLOG_REAL_MOBILE_V8 - prevent article/table content from expanding grid tracks */
@media (max-width: 1020px) {
  body.nm-v7 .article-layout,
  .article-layout {
    grid-template-columns:minmax(0,1fr) !important;
    min-width:0;
    max-width:100%;
  }
  .article-layout > .article-content,
  .article-layout > .article-side {
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
    width:100%;
  }
  .article-content {
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .article-content :is(img, video, iframe, svg) {
    max-width:100%;
    height:auto;
  }
  .article-content table {
    box-sizing:border-box;
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .article-content pre,
  .article-content .highlight,
  .article-content .code-block {
    display:block;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .article-content > .nm-engagement,
  .article-content > .nm-engagement :is(.nm-comment-form, .nm-comment, .nm-comment-body, .nm-feedback-controls) {
    min-width:0;
    max-width:100%;
  }
  .article-content > .nm-engagement :is(input, textarea, button) {
    box-sizing:border-box;
    max-width:100%;
  }
  .article-content > .nm-engagement :is(.nm-emoji-bar, .nm-comment-actions) {
    flex-wrap:wrap;
  }
}
@media (max-width: 680px) {
  .article-layout > .article-content {padding:clamp(12px,4vw,18px);border-radius:18px}
  .article-content > .nm-engagement {padding:clamp(12px,3vw,16px);margin-top:22px}
  .article-content > .nm-engagement .nm-comment-submit {width:100%;white-space:normal;min-height:48px}
  .article-content > .nm-engagement input,.article-content > .nm-engagement textarea {font-size:16px}
  .article-content > .nm-engagement .nm-emoji-bar {gap:7px}
  .article-content > .nm-engagement .nm-emoji-bar button {min-width:42px;min-height:42px}
  /* On long-form reading pages the fixed sales dock and bot hide article / form content. */
  body:has(.article-layout) :is(.mobile-quick-nav, .floating-contact, .floating-auto) {display:none !important}
  body:has(.article-layout) #nm-ai-launcher {width:48px!important;min-width:48px!important;height:48px!important;right:12px!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;padding:5px!important}
  body:has(.article-layout) #nm-ai-launcher .nm-ai-badge {width:38px!important;height:38px!important}
  body:has(.article-layout) #nm-ai-launcher svg {width:24px!important;height:24px!important}
  body:has(.article-layout) #nm-ai-teaser {display:none!important}
  body:has(.article-layout):has(.nm-comment-form :is(input,textarea):focus) #nm-ai-launcher {display:none!important}
}

/* NM_MOBILE_TABLES_V9_20261023
   Keep legible table columns, independent horizontal table scroll; no split Russian words.
   The site floating contact dock has id=nm-mobile-dock (not mobile-quick-nav).
*/
@media (max-width: 1020px) {
  .article-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .article-content table th,
  .article-content table td {
    box-sizing: border-box;
    min-width: 148px;
    max-width: none;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none;
    white-space: normal;
    font-size: 15px;
    line-height: 1.5;
  }
  .article-content table th:first-child,
  .article-content table td:first-child {
    min-width: 130px;
  }
}
@media (max-width: 680px) {
  /* The contact bar is injected by /assets/site-patches.js after CSS load. */
  body:has(.article-layout) #nm-mobile-dock,
  body:has(.article-layout) .nm-mobile-dock {
    display: none !important;
  }
}
