/* ============================================================================
   ШАПКА: ПОСАДКА ПО ШИРИНЕ

   Шапка главной (.dashboard-topbar) и шапка Email API (.api-header) — одна и
   та же сетка из трёх колонок: логотип | навигация | действия. Колонки были
   заданы одинаково:

       grid-template-columns: minmax(190px, 1fr) auto minmax(270px, 1fr);

   и в этом корень всех вылезаний. minmax(<длина>, <fr>) задаёт дорожке
   минимум в 190/270 пикселей, а НЕ min-content: дорожка не обязана вмещать
   своё содержимое. Обе крайние дорожки при этом делят свободное место
   поровну, поэтому логотип (116px) получал ровно столько же, сколько блок
   действий (595px) — и блок действий вылезал из своей дорожки.

   Куда именно вылезал, зависело от justify-self:
     — на главной вправо, за край оболочки 1480px, а на ноутбуке и за край
       окна: страница получала горизонтальную прокрутку (scrollWidth 1421
       при окне 1280), правый край блока просто уезжал за экран;
     — на Email API влево, потому что там justify-self: end: блок начинался
       на 912px при дорожке с 1020px и наезжал на пункт «Подключение».

   Лечится заменой минимума на min-content. Алгоритм fr тогда замораживает
   дорожку действий на ширине её содержимого и делит остаток между
   оставшимися fr-дорожками: левая отдаёт лишнее, навигация остаётся почти
   по центру (на 1600px расхождение с центром страницы ~40px против 214px
   у «честного» auto 1fr auto), и ничего никуда не вылезает ни при какой
   ширине окна.

   Само содержимое правого блока при этом ужато: 595px не помещались в
   оболочку 1480px ни на одном мониторе, потому что оболочка не растёт.
   ========================================================================= */

/* --- Сетка ---------------------------------------------------------------
   Только для настольной раскладки. Ниже 70rem обе шапки уже схлопываются в
   свои двухколоночные сетки с кнопкой-бургером — их правила трогать нельзя. */
@media (min-width: 70rem) {
  .site-home--cf-v2 .dashboard-topbar__inner,
  .email-api-page--v3 .api-header__inner {
    grid-template-columns: minmax(min-content, 1fr) auto minmax(min-content, 1fr);
  }
}

/* Дорожки считаются по min-content, поэтому элементы должны его объявлять
   честно, а не занимать место «про запас». */
.site-home--cf-v2 .dashboard-topbar__inner > *,
.email-api-page--v3 .api-header__inner > * {
  min-width: 0;
}

/* --- Навигация -----------------------------------------------------------
   Шаг был clamp(18px, 2.4vw, 38px): на 1600px это 38px и 369px на четыре
   пункта. Навигация — единственное, что может отдать ширину без потери
   смысла, поэтому её шаг ужат. Визуально разница не читается, но на узком
   ноутбуке она и есть тот запас, за счёт которого правый блок помещается. */
.site-home--cf-v2 .dashboard-topbar__nav,
.email-api-page--v3 .api-header__nav {
  gap: clamp(14px, 1.9vw, 30px);
  min-width: 0;
}

/* --- Плашка аккаунта -----------------------------------------------------
   Была 172px под текст в две строки плюс 14px стрелка. Стрелка декоративная
   (aria-hidden) и в мобильной шапке её и так нет — здесь она тоже убрана, а
   ширина снижена до 150px. Текст в плашке и раньше обрезался многоточием на
   длинных локалях (uz «KIRISH TEKSHIRILMOQDA» не помещался и в 172px), так
   что поведение то же, а шапка короче на 22px. В выпадающем меню
   (.mailcore-auth--menu) плашка исключена явным :not() — она лежит внутри
   того же .site-header__actions и иначе получила бы эти же 150px.

   Всё это — только от 48rem. Ниже своя посадка живёт в
   mailcore-public-auth-v1.css (плашка 132/120px, слот без резерва), и её
   правила слабее этих по каскаду: без медиазапроса телефонная шапка
   получила бы 150px плашку и 300px резерв, то есть 430px содержимого на
   320px экрана. */
@media (min-width: 48rem) {
  .site-home--cf-v2 .site-header__actions .mailcore-auth:not(.mailcore-auth--menu) .mailcore-auth__link,
  .email-api-page--v3 .api-header__actions .mailcore-auth:not(.mailcore-auth--menu) .mailcore-auth__link {
    inline-size: 150px;
    grid-template-columns: 9px minmax(0, 1fr);
  }

  .site-home--cf-v2 .site-header__actions .mailcore-auth:not(.mailcore-auth--menu) .mailcore-auth__arrow,
  .email-api-page--v3 .api-header__actions .mailcore-auth:not(.mailcore-auth--menu) .mailcore-auth__arrow {
    display: none;
  }

  /* Слот аккаунта на главной держит ширину, пока идёт проверка сессии, чтобы
     шапка не дёргалась на ответе /account/session. Держать её нужно по самому
     широкому состоянию — гостевому: плашка 150 + зазор 8 + «Создать аккаунт».
     Зарезервировано было 348px под плашку в 172px; теперь ровно столько,
     сколько занимает гостевая пара, с небольшим запасом на en/uz. */
  .site-home--cf-v2 .mailcore-auth--home {
    min-inline-size: 300px;
  }
}
