/* DohoHub — мобильное меню (бургер). Общее для всех шапок.
   На десктопе кнопка скрыта, nav горизонтальный (как прежде).
   На мобильном (<=700px) nav превращается в выпадающую панель под шапкой. */
.nav-toggle {
  display: none;                /* десктоп: скрыта */
  background: var(--bg3); border: 1px solid var(--border2); border-radius: 8px;
  width: 40px; height: 40px; flex-shrink: 0;
  color: var(--text); font-size: 17px; line-height: 1; cursor: pointer;
  align-items: center; justify-content: center;
  font-family: var(--font-body, inherit); transition: border-color 0.15s, color 0.15s;
}
.nav-toggle:hover { border-color: var(--accent); color: var(--accent); }

/* ⚠️ Правило НЕ мобильное, хотя жило внутри @media(max-width:700px) до 14.08.2026.
   У грид-элемента min-width по умолчанию auto, поэтому min-width широкой таблицы
   (.ctable, .obook) отдаёт наверх min-content и растягивает колонку вместо того,
   чтобы прокручиваться внутри своей обёртки (.table-wrap/.obook-wrap, у них
   overflow-x:auto). На десктопе это уже происходило: на главной колонка контента
   раздувалась до 1055px, выталкивала сайдбар за экран (scrollWidth 1391 при
   viewport 1265) и давала горизонтальную прокрутку всей страницы. С min-width:0
   колонка встаёт в положенные 905px, а таблица скроллится сама. */
.page-layout > *, .main-layout > * { min-width: 0; }

@media(max-width: 700px) {
  .nav-toggle { display: flex; order: -1; }   /* видна, слева в header-right */
  /* Вторичные кнопки прячем — шапка не помещается; навигация уходит в бургер */
  .header-right .acct-btn, .header-right .acct-btn-pri,
  .header-right .btn-primary { display: none; }
  .header-inner { gap: 12px; }
  /* Ряд фильтров по странам не переносился и растягивал страницу по горизонтали */
  .filters { flex-wrap: wrap; }
  /* min-width:0 для .page-layout/.main-layout поднят на верхний уровень файла —
     он нужен и на десктопе, см. комментарий там */
  /* Домен-чекер: input + кнопка не помещались в строку — переносим */
  .domain-row { flex-wrap: wrap; }
  .domain-row .domain-check-btn { flex: 1; }
  header nav {
    position: absolute; top: 100%; left: 0; right: 0; z-index: 200;
    display: none; flex-direction: column; gap: 2px; flex: none;
    background: var(--bg2); border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border2);
    box-shadow: 0 16px 40px rgba(0,0,0,0.45);
    padding: 10px 14px; max-height: calc(100vh - 58px); overflow-y: auto;
  }
  header nav.open { display: flex; }
  header nav a { font-size: 15px; padding: 12px 12px; border-radius: 8px; white-space: normal; }

  /* Hover-дропдауны разворачиваем плоско внутри панели */
  header nav .nav-dropdown { position: static; display: block; }
  header nav .nav-dropdown > a::after { content: ''; }
  header nav .nav-dropdown-menu {
    display: block; position: static; border: none; background: transparent;
    box-shadow: none; min-width: 0; padding: 0 0 4px 16px;
  }
  header nav .nav-dropdown-menu a { font-size: 13px; padding: 9px 12px; white-space: normal; }
  /* Закрытые пункты Infrastructure — <span>, правило для `a` их не достаёт */
  header nav .nav-dd-off { font-size: 13px; padding: 9px 12px; }
  /* AI Solutions: на мобильном колонки разворачиваются в плоский список —
     сетка .nav-dd-cols (механизм хостинг-дропдауна) здесь ни к чему */
  header nav .nav-dd-cols { display: block; }
  header nav .nav-dd-col:first-child { border-right: none; padding-right: 0; }
  header nav .nav-dd-col:last-child { padding-left: 0; }
}
