/* Air theme · 03-shared.css
   Хлебные крошки (.page-breadcrumb) + шеллы-контейнеры (.auth-shell и пр.).
   Скопировано ДОСЛОВНО из шаблона css/03-shared.css. БЕЗ доп. компонентов:
   info-модалка/поля/прочее — per-screen, приедут со своими экранами. */

.auth-shell {
  max-width: 1180px;
  margin: 0 auto;
}

.profile-shell {
  animation: scFade 0.4s ease;
  max-width: 820px;
  margin: 0 auto;
  padding: 56px 22px 80px;
  color: var(--text);
}

.auth-shell-narrow {
  max-width: 1180px;
}

.page-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: none;
  margin: 0 0 24px;
  color: var(--subtle);
  font-size: 14px;
  font-weight: 600;
}

.page-breadcrumb a, /* AIR-NAV: крошки-кнопки шаблона у нас стали ссылками Yii */
.page-breadcrumb button {
  padding: 0;
  color: var(--subtle);
  font-weight: inherit;
  background: transparent;
  border: 0;
  font: inherit;
  text-decoration: none; /* у <a> убираем дефолтное подчёркивание (мост .topbar a крошки не покрывает) */
}

.page-breadcrumb a:hover,
.page-breadcrumb button:hover {
  color: var(--blue);
}

.page-breadcrumb span {
  margin: 0 7px;
  color: #c4cedc;
}

.page-breadcrumb b {
  color: var(--text);
  font-weight: 600;
}

/* Compact pages keep their forms centered while breadcrumbs stay on the global content line. */
.login-shell .page-breadcrumb,
.register-shell .page-breadcrumb,
.recover-shell .page-breadcrumb,
.profile-shell .page-breadcrumb,
.balance-shell .page-breadcrumb {
  width: min(1180px, calc(100vw - 44px));
  margin-left: calc((100% - min(1180px, calc(100vw - 44px))) / 2);
}

.login-shell,
.register-shell,
.recover-shell,
.profile-shell,
.balance-shell {
  padding-top: 56px;
}

/* =================================================================
   Алерты поля формы — приехали из шаблона 03-shared.css на Э2 (трекинг):
   .form-alert — КРАСНЫЙ (ошибка/не найдено, состояние D);
   .form-notice — НЕЙТРАЛЬНЫЙ синий (инфо, состояние C «в обработке»).
   Скопировано ДОСЛОВНО. Оба с [hidden] — рендерим в DOM всегда, видимостью рулит атрибут hidden.
   ================================================================= */
.form-alert {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 14px 0 0;
  padding: 12px 14px;
  color: #c42333;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  background: #fce8e9;
  border: 1px solid #f7c9ce;
  border-radius: 12px;
}

.form-alert[hidden] {
  display: none;
}

.form-notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 14px 0 0;
  padding: 12px 14px;
  color: #2057c7;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  background: var(--blue-soft);
  border: 1px solid #cfe0ff;
  border-radius: 12px;
}

.form-notice[hidden] {
  display: none;
}

/* ПУСТЫЕ .form-alert/.form-notice — НЕ показывать (иначе пустая плашка с фоном/рамкой висит зря).
   Нужно для ActiveForm-полей (Финал/Э5 login/register): Yii рендерит тег {error} ВСЕГДА, даже без
   ошибки → пустой <div class="form-alert"></div>. :empty прячет его, пока сервер не положит текст. */
.form-alert:empty,
.form-notice:empty {
  display: none;
}

/* Зелёный модификатор УСПЕХА (Э6 профиль): тот же блок .form-notice, но зелёная палитра.
   Решение владельца: зелёный = успех (новое состояние), синий .form-notice = нейтральное инфо.
   Селектор — ОБА класса на одном элементе (.form-notice.form-notice--success), без пробела:
   разметка <p class="form-notice form-notice--success">. */
.form-notice.form-notice--success {
  color: #1f7a44;
  background: #e9f6ee;
  border-color: #bfe6cf;
}
