/* GetLuck — mobile layout corrections (GL-181, замечания Amal 02.09).
 * Подключается ПОСЛЕ styles.css / home-b.css / account.css и ПОСЛЕ
 * theme-light.css, чтобы перекрывать обе темы. Только раскладка и
 * навигация; цвета шторки живут в своих темах.
 *
 * Что чинится:
 *  1. Нижний док убран везде — навигация только боковая (рейл/шторка).
 *  2. «Мёртвая зона» 761-900px: там рейл УЖЕ вернулся, а док ЕЩЁ висел —
 *     две навигации одновременно. Именно этот кадр прислал Amal (766px).
 *  3. Шапка закреплена вверху на всех ширинах.
 *  4. На телефоне шапка в одну строку, кнопка кошелька не разваливается.
 *  5. На /wheel сразу под колесом идёт форма ставки, а не текст и история.
 */

/* ============================================================
   1. НИЖНЯЯ НАВИГАЦИЯ — УБРАНА ПОЛНОСТЬЮ
   Правило Amal: «внизу навигацию убери, оставим только боковую».
   ============================================================ */
.mobile-dock { display: none !important; }

/* Отступ снизу резервировался под док (140px) и футер (96px). */
@media (max-width: 900px) {
  body.layout-b .app-shell,
  body.layout-b .account-main { padding-bottom: 32px !important; }
  body.layout-b .footer { padding-bottom: 24px !important; }
}

/* ============================================================
   2. ШАПКА ВСЕГДА ВВЕРХУ
   В styles.css на <=900px стоял GETLUCK_REDESIGN_2026_MOBILE_TOPBAR_UNSTICK:
   .topbar переводился в position:relative и уезжал со скроллом.
   Требование Amal: шапка не перемещается, она всегда вверху.
   ============================================================ */
body.layout-b .top-b {
  position: sticky !important;
  top: 0 !important;
  z-index: 60 !important;
}
.topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

/* ============================================================
   3. ШАПКА НА ТЕЛЕФОНЕ — ОДНА СТРОКА
   Было flex-wrap:wrap + tabs-b на всю ширину => высота 99px,
   кнопка «Подключить кошелёк» уезжала во вторую строку и лепилась
   к краю. Делаем один ряд: бургер, бренд, тема, язык, кошелёк.
   ============================================================ */
@media (max-width: 760px) {
  body.layout-b .top-b {
    flex-wrap: nowrap !important;
    gap: 8px;
    padding: 8px 12px;
    min-height: 56px;
  }

  /* Табы разделов на телефоне не нужны: есть шторка. */
  body.layout-b .top-b .tabs-b { display: none !important; }

  body.layout-b .top-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 0 1 auto;
    overflow: hidden;
  }
  body.layout-b .top-brand span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 15px;
  }

  /* Кошелёк: компактный, не сжимается, не переносится. */
  body.layout-b .top-b .wallet-btn {
    margin-left: auto;
    flex: 0 0 auto;
    max-width: 46vw;
    padding: 9px 12px;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-radius: 9px;
  }

  /* Тема и язык на телефоне живут в шторке (Amal 02.09): в шапке им не
     хватало места, language-switcher выдавливал логотип. Шапка: бургер,
     знак, кошелёк. Легаси-селект #languageSelect остаётся в DOM (шторка
     читает из него список), но не показывается. */
  body.layout-b .top-b .theme-toggle-btn,
  body.layout-b .top-b .language-switcher,
  body.layout-b .top-b .language-visual,
  body.layout-b .top-b .language-visual-overlay,
  body.layout-b .top-b #languageSwitcher,
  body.layout-b .top-b #languageVisualOverlay {
    display: none !important;
  }
  /* Бренд не должен ужиматься в ноль: знак всегда 34px, текст — если влезет. */
  body.layout-b .top-brand { flex: 0 1 auto; min-width: 34px; }
  body.layout-b .top-brand img { flex: 0 0 auto; }
}

/* Совсем узкие телефоны: прячем словесный бренд, остаётся знак. */
@media (max-width: 400px) {
  body.layout-b .top-brand span { display: none; }
  body.layout-b .top-b .wallet-btn { max-width: 52vw; }
}

/* ============================================================
   4. «МЁРТВАЯ ЗОНА» 761-900px
   Рейл возвращается на 761px, а док жил до 900px. Дока больше нет,
   но отступы и ширина контента под него оставались.
   ============================================================ */
@media (min-width: 761px) and (max-width: 900px) {
  body.layout-b .app-shell,
  body.layout-b .account-main { padding-bottom: 32px !important; }
}

/* ============================================================
   5. /wheel НА ТЕЛЕФОНЕ: СНАЧАЛА КОЛЕСО, ПОТОМ СТАВКА
   Было: заголовок с описанием (289px) -> колесо -> маскот ->
   история победителей -> и только на 1228px форма ставки.
   Требование Amal: под колесом сразу кнопка ставки.
   Порядок задаём флексом, разметку не трогаем.
   ============================================================ */
@media (max-width: 900px) {
  body.layout-b .game-play-grid {
    display: flex !important;
    flex-direction: column;
    gap: 18px;
  }

  /* display:contents растворяет обёртку .game-stage, и её дети становятся
     прямыми детьми флекс-контейнера. Без этого order не работает: он
     сортирует только СОСЕДЕЙ, а маскот лежал внутри .game-stage и потому
     всегда оставался выше формы, в какой бы order его ни ставили. */
  body.layout-b .game-play-grid .game-stage { display: contents; }

  body.layout-b .game-play-grid .game-wheel-stage {
    order: 1;
    /* Обод (.game-wheel-rim) выступает на 16px за бокс стейджа, а указатель
       ещё на 6px вверх. При gap:18px визуально оставалось 2px до формы —
       колесо «прилипало» (Amal 02.09). Отступы считаем от видимого края. */
    margin: 14px auto 36px;
  }
  body.layout-b .game-play-grid .game-side        { order: 2; }
  /* Маскот — украшение, уходит под форму ставки. */
  body.layout-b .game-play-grid .stage-mascot     { order: 8; margin: 0 auto; }
  body.layout-b .game-play-grid .history-b        { display: none !important; }

  /* Описание раунда над колесом ужимаем: факты остаются, простыня уходит. */
  body.layout-b .game-head { margin-bottom: 4px; }
  body.layout-b .game-head > p { display: none; }
  body.layout-b .game-head h1 { font-size: 26px; margin-bottom: 8px; }
  body.layout-b .game-facts.inline-facts {
    gap: 12px 16px;
    flex-wrap: wrap;
    font-size: 11px;
  }

  /* Карточка транзакции — первое, что видно после колеса. */
  body.layout-b .game-side .account-section.game-single { margin-top: 0; }
  body.layout-b .transaction-card { border-radius: 14px; }
}

/* ============================================================
   7. БОКОВАЯ ШТОРКА — ЧИТАЕМОСТЬ В ТЁМНОЙ ТЕМЕ
   Замечание Amal «боковая менюшка, снова всё сливается» относится и к
   тёмной теме: панель залита #0a0a0b→#000, страница за ней тоже чёрная,
   границы нет — панель не читается как отдельный слой. Плюс пункты
   красились в --ash (тусклый серый) и выглядели выключенными.
   Поднимаем поверхность, добавляем край и повышаем яркость подписей.
   ============================================================ */
.gl-dr {
  background: linear-gradient(#17181b, #0d0e10);
  border-right: 1px solid rgba(255, 255, 255, .14);
  box-shadow: 12px 0 40px rgba(0, 0, 0, .6);
}

.gl-dr-head {
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.gl-dr-head span {
  color: #f4f2ee;
  font-size: 16px;
}

/* Пункты: были --ash #a1a4a5, читались как неактивные. */
.gl-dr-i {
  color: #e2e0da;
  font-size: 15.5px;
  font-weight: 450;
}

.gl-dr-i:active { background: rgba(255, 255, 255, .07); }

.gl-dr-i.on {
  background: rgba(146, 129, 247, .20);
  color: #b9adff;
  font-weight: 550;
}

.gl-dr-x { color: #cfccc4; }

/* Разделитель перед служебными пунктами */
.gl-dr-sep {
  height: 1px;
  margin: 10px 12px;
  background: rgba(255, 255, 255, .10);
}

body.theme-light .gl-dr-sep { background: #ddd5c2; }

/* ============================================================
   8. ВТОРОЙ УРОВЕНЬ ШТОРКИ (drawer-winners.js)
   «Последние победители» открываются НЕ отдельной страницей, а
   следующей панелью внутри той же шторки, со стрелкой «назад».
   ============================================================ */
.gl-dr-stack {
  position: relative;
  flex: 1;
  overflow: hidden;
}

.gl-dr-page {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  transition: transform .24s cubic-bezier(.22, .8, .3, 1);
  -webkit-overflow-scrolling: touch;
}

/* Подстраницы ждут справа за краем панели; при at2 приезжает ТОЛЬКО текущая,
   остальные остаются за краем (иначе заголовки накладываются). */
.gl-dr-page.lvl2 { transform: translateX(100%); visibility: hidden; }
.gl-dr-stack.at2 .gl-dr-page.lvl1 { transform: translateX(-100%); }
.gl-dr-stack.at2 .gl-dr-page.lvl2.is-current { transform: translateX(0); visibility: visible; }

/* Строка-переход: та же метрика, что у обычного пункта, плюс шеврон. */
.gl-dr-i .gl-dr-chev {
  margin-left: auto;
  opacity: .55;
  display: inline-flex;
}
.gl-dr-i .gl-dr-chev svg { width: 17px; height: 17px; }

.gl-dr-back {
  display: flex;
  align-items: center;
  gap: 10px;
  width: calc(100% - 20px);
  margin: 8px 10px 6px;
  min-height: 46px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 12px;
  background: rgba(255, 255, 255, .05);
  color: #f4f2ee;
  font: 600 14px/1 var(--font-ui, inherit);
  cursor: pointer;
  text-align: left;
}
/* Стрелка: крупнее пункта меню и золотая, чтобы читалась как «выход»,
   а не как декоративный шеврон (Amal: «назад никак нельзя»). */
.gl-dr-back svg { width: 22px; height: 22px; color: #ffca16; flex: 0 0 auto; }
.gl-dr-back em {
  margin-left: auto;
  font-style: normal;
  font-weight: 500;
  font-size: 12.5px;
  color: #a9a59b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gl-dr-back:active { background: rgba(255, 255, 255, .10); }
body.theme-light .gl-dr-back {
  color: #191410;
  background: rgba(23, 19, 16, .05);
  border-color: #ddd5c2;
}
body.theme-light .gl-dr-back svg { color: #8a6508; }
body.theme-light .gl-dr-back em { color: #6b6152; }
body.theme-light .gl-dr-back:active { background: rgba(101, 74, 12, .10); }

/* Шапка шторки без слова «GetLuck»: знак и крестик. */
.gl-dr-head img { width: 34px; }

/* Подстраница «Язык» */
.gl-dr-langs { padding: 4px 10px 20px; display: grid; gap: 4px; }
.gl-dr-lang {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 46px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #e2e0da;
  font: 450 15.5px/1.2 var(--font-ui, inherit);
  cursor: pointer;
  text-align: left;
}
.gl-dr-lang-code {
  flex: 0 0 auto;
  min-width: 34px;
  padding: 3px 0;
  border-radius: 6px;
  background: rgba(255, 255, 255, .08);
  color: #cfccc4;
  font: 700 11px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: .06em;
  text-align: center;
}
.gl-dr-lang-check { margin-left: auto; display: inline-flex; opacity: 0; color: #ffca16; }
.gl-dr-lang-check svg { width: 18px; height: 18px; }
.gl-dr-lang.on { background: rgba(146, 129, 247, .20); color: #f4f2ee; font-weight: 550; }
.gl-dr-lang.on .gl-dr-lang-code { background: rgba(255, 255, 255, .16); color: #fff; }
.gl-dr-lang.on .gl-dr-lang-check { opacity: 1; }
.gl-dr-lang:active { background: rgba(255, 255, 255, .07); }
body.theme-light .gl-dr-lang { color: #3f382f; }
body.theme-light .gl-dr-lang-code { background: rgba(23, 19, 16, .07); color: #4a4136; }
body.theme-light .gl-dr-lang.on { background: rgba(69, 52, 184, .12); color: #191410; }
body.theme-light .gl-dr-lang.on .gl-dr-lang-code { background: #4534b8; color: #fff; }
body.theme-light .gl-dr-lang-check { color: #8a6508; }

/* Низ шторки: переключатель темы */
.gl-dr-foot {
  margin-top: auto;
  padding: 8px 10px calc(12px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(255, 255, 255, .10);
}
body.theme-light .gl-dr-foot { border-top-color: #ddd5c2; }
.gl-dr-theme {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 46px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #e2e0da;
  font: 450 15.5px/1.2 var(--font-ui, inherit);
  cursor: pointer;
  text-align: left;
}
.gl-dr-theme .gl-dr-ic { display: inline-flex; }
.gl-dr-theme .gl-dr-ic svg { width: 20px; height: 20px; }
.gl-dr-theme:active { background: rgba(255, 255, 255, .07); }
body.theme-light .gl-dr-theme { color: #3f382f; }
.gl-dr-switch {
  margin-left: auto;
  position: relative;
  width: 40px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  transition: background .18s;
  flex: 0 0 auto;
}
.gl-dr-switch i {
  position: absolute;
  top: 3px; left: 3px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: #f4f2ee;
  transition: transform .18s;
}
.gl-dr-switch.on { background: #ffca16; }
.gl-dr-switch.on i { transform: translateX(18px); background: #171310; }
body.theme-light .gl-dr-switch { background: rgba(23, 19, 16, .18); }
body.theme-light .gl-dr-switch.on { background: #8a6508; }
body.theme-light .gl-dr-switch.on i { background: #fdfcf8; }

/* Стек занимает всё между шапкой и подвалом, страницы скроллятся внутри. */
.gl-dr-stack { min-height: 0; }

/* Список победителей внутри шторки */
.gl-dr-win { padding: 4px 12px 24px; }

.gl-dr-win-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 2px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  font: 400 13px/1.4 var(--font-mono, monospace);
  color: #d8d5cd;
}
body.theme-light .gl-dr-win-row {
  border-bottom-color: #e2dccb;
  color: #3f382f;
}

.gl-dr-win-row b { color: #ffca16; font-weight: 500; }
body.theme-light .gl-dr-win-row b { color: #8a6508; }

.gl-dr-win-row span { opacity: .72; font-size: 11.5px; }

.gl-dr-win-empty {
  padding: 16px 4px;
  font: 400 13px/1.6 var(--font-ui, inherit);
  color: #a6a29a;
}
body.theme-light .gl-dr-win-empty { color: #5f5648; }

/* ============================================================
   9. ТЕЛЕФОН: ШИРИНА КОЛЕСА
   ============================================================ */
@media (max-width: 760px) {
  body.layout-b .game-wheel-stage {
    width: min(300px, calc(100% - 56px)) !important;
  }
  body.layout-b .app-shell,
  body.layout-b .account-main { padding-left: 12px; padding-right: 12px; }
}

/* ============================================================
   11. КАРТОЧКА СТАВКИ: УБРАТЬ ЛИШНЕЕ, СУММА НАВЕРХ
   Замечания Amal 02.09 (скриншот с обводками):
     - «ИГРОВАЯ ТРАНЗАКЦИЯ / Вступить в текущий раунд колеса» — убрать;
     - «ТРАНЗАКЦИИ ВКЛЮЧЕНЫ» — убрать;
     - «РАУНД wheel-2026…» и «ЗАВЕРШАЕТСЯ 02 Sept» — вниз карточки;
     - «СУММА СТАВКИ» — наверх.
   Разметку не трогаем: убираем видимость и переставляем порядок флексом,
   поэтому account.js продолжает писать в свои id (#transactionGlobalState,
   #wheelRoundId, #wheelRoundEnds) без изменений.
   Область строго .account-section.game-single — на страницах аккаунта и
   наград такие же .account-section-title остаются на месте.
   ============================================================ */
.account-section.game-single > .account-section-title {
  display: none !important;
}

/* Карточка становится колонкой, порядок задаём явно. */
.transaction-card.game-transaction-card {
  display: flex;
  flex-direction: column;
}

/* 1. Шапка карточки (Колесо удачи + статус раунда) */
.transaction-card.game-transaction-card > .transaction-head { order: 1; }
/* 2. Сумма ставки — сразу под шапкой */
.transaction-card.game-transaction-card > label { order: 2; }
.transaction-card.game-transaction-card > .account-input-row { order: 3; }
/* 3. Шаги, кнопка, пояснение */
.transaction-card.game-transaction-card > .transaction-steps { order: 4; }
.transaction-card.game-transaction-card > .transaction-btn { order: 5; }
.transaction-card.game-transaction-card > .transaction-note { order: 6; }
/* 4. Служебные данные раунда — в самый низ */
.transaction-card.game-transaction-card > .round-meta { order: 9; }

/* Раньше блок стоял вверху и отделялся линией снизу. Внизу линия нужна
   сверху, плюс отступ от пояснения над ним. */
.transaction-card.game-transaction-card > .round-meta {
  border-bottom: 0;
  border-top: 1px solid var(--hairline);
  margin-top: 18px;
}

/* Это больше не главная информация: приглушаем, чтобы не спорила со ставкой. */
.transaction-card.game-transaction-card > .round-meta span {
  padding: 11px 22px;
  font-size: 9.5px;
}
.transaction-card.game-transaction-card > .round-meta b {
  font-size: 12px;
  opacity: .85;
  overflow-wrap: anywhere;
}

/* Сумма ставки — теперь первое поле, даём ей воздух. */
.transaction-card.game-transaction-card > label {
  padding-top: 18px;
}

/* ============================================================
   12. СТАТУС РАУНДА «ОТКРЫТ» — ФАКТУРА
   Было: плоская пилюля, 1px hairline, прозрачный фон, серая точка.
   Стало: стеклянная капсула — заливка в цвет состояния, внутренний
   блик сверху, мягкая тень, точка с ореолом и живой пульсацией.
   ============================================================ */
.round-badge,
.rewards-program-state,
.launch-state {
  position: relative;
  padding: 7px 14px 7px 12px;
  border-radius: 999px;
  letter-spacing: .1em;
  background:
    linear-gradient(rgba(255, 255, 255, .07), rgba(255, 255, 255, 0)),
    rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .14);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .10),
    0 1px 2px rgba(0, 0, 0, .28);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* Состояние «открыт / готов»: зелёное стекло. */
.round-badge.ready,
.rewards-program-state.ready,
.launch-state.ready {
  background:
    linear-gradient(rgba(255, 255, 255, .08), rgba(255, 255, 255, 0)),
    rgba(58, 211, 137, .10);
  border-color: rgba(58, 211, 137, .38);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .12),
    0 1px 2px rgba(0, 0, 0, .28),
    0 0 18px rgba(58, 211, 137, .10);
}

/* Точка: ядро + ореол вместо плоского кружка. */
.round-badge::before,
.rewards-program-state::before,
.launch-state::before {
  width: 7px;
  height: 7px;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .06);
}

.round-badge.ready::before,
.rewards-program-state.ready::before,
.launch-state.ready::before {
  background: #3ad389;
  box-shadow:
    0 0 0 3px rgba(58, 211, 137, .18),
    0 0 10px rgba(58, 211, 137, .75);
}

/* Светлая тема: стекло на кремовом, а не на чёрном. */
body.theme-light .round-badge,
body.theme-light .rewards-program-state,
body.theme-light .launch-state {
  background:
    linear-gradient(rgba(255, 255, 255, .9), rgba(255, 255, 255, .5)),
    rgba(101, 74, 12, .04);
  border-color: rgba(101, 74, 12, .20);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    0 1px 2px rgba(90, 66, 10, .10);
}

body.theme-light .round-badge.ready,
body.theme-light .rewards-program-state.ready,
body.theme-light .launch-state.ready {
  background:
    linear-gradient(rgba(255, 255, 255, .92), rgba(255, 255, 255, .55)),
    rgba(23, 116, 63, .09);
  border-color: rgba(23, 116, 63, .34);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    0 1px 2px rgba(90, 66, 10, .10),
    0 0 16px rgba(23, 116, 63, .09);
}

body.theme-light .round-badge.ready::before,
body.theme-light .rewards-program-state.ready::before,
body.theme-light .launch-state.ready::before {
  background: #17743f;
  box-shadow:
    0 0 0 3px rgba(23, 116, 63, .16),
    0 0 9px rgba(23, 116, 63, .55);
}

body.theme-light .round-badge::before,
body.theme-light .rewards-program-state::before,
body.theme-light .launch-state::before {
  box-shadow: 0 0 0 3px rgba(101, 74, 12, .07);
}

/* ============================================================
   10. БЛОК «ИЩЕМ ПАРТНЁРОВ» — ВЫШЕ ВСЕГО НА ГЛАВНОЙ
   Все версии, не только мобильная. Язык — наш собственный:
   тёмная плашка с золотым кантом, слева суть, справа действие.
   ============================================================ */
.gl-partner-bar {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0 0 18px;
  padding: 16px 20px;
  border-radius: 14px;
  border: 1px solid rgba(255, 202, 22, .30);
  background:
    radial-gradient(120% 180% at 0% 50%, rgba(255, 202, 22, .12), transparent 60%),
    linear-gradient(#17140e, #100e0a);
  position: relative;
  overflow: hidden;
}

body.theme-light .gl-partner-bar {
  border-color: rgba(138, 101, 8, .34);
  background:
    radial-gradient(120% 180% at 0% 50%, rgba(200, 147, 10, .16), transparent 60%),
    linear-gradient(#fffdf7, #f6efdd);
}

.gl-partner-bar .gl-pb-mark {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: rgba(255, 202, 22, .14);
  border: 1px solid rgba(255, 202, 22, .34);
}
.gl-partner-bar .gl-pb-mark svg { width: 22px; height: 22px; }
body.theme-light .gl-partner-bar .gl-pb-mark {
  background: rgba(200, 147, 10, .16);
  border-color: rgba(138, 101, 8, .34);
}

.gl-partner-bar .gl-pb-copy { min-width: 0; flex: 1 1 auto; }

.gl-partner-bar .gl-pb-kicker {
  display: block;
  font: 500 10px/1 var(--font-mono, monospace);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #ffca16;
  margin-bottom: 6px;
}
body.theme-light .gl-partner-bar .gl-pb-kicker { color: #8a6508; }

.gl-partner-bar .gl-pb-title {
  display: block;
  font: 500 17px/1.25 var(--font-ui, inherit);
  color: #f6f4ef;
  margin-bottom: 4px;
}
body.theme-light .gl-partner-bar .gl-pb-title { color: #191410; }

.gl-partner-bar .gl-pb-sub {
  display: block;
  font: 400 13px/1.5 var(--font-ui, inherit);
  color: #a8a49b;
}
body.theme-light .gl-partner-bar .gl-pb-sub { color: #5f5648; }

.gl-partner-bar .gl-pb-cta {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 9px;
  background: #ffca16;
  color: #17140e;
  font: 500 14px/1 var(--font-ui, inherit);
  text-decoration: none;
  white-space: nowrap;
  transition: background .18s ease;
}
.gl-partner-bar .gl-pb-cta:hover { background: #ffd75e; }
body.theme-light .gl-partner-bar .gl-pb-cta {
  background: #8a6508;
  color: #fff;
}
body.theme-light .gl-partner-bar .gl-pb-cta:hover { background: #7d5c07; }

/* Телефон: в колонку, кнопка на всю ширину */
@media (max-width: 760px) {
  .gl-partner-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
  }
  .gl-partner-bar .gl-pb-cta {
    width: 100%;
    justify-content: center;
  }
  .gl-partner-bar .gl-pb-title { font-size: 16px; }
}
