:root {
  /* ── ТЁМНАЯ ВИТРИНА. Не «статейник» и не светлый лист: тёмная база + яркие
        акценты, как у ночных гемблинг-витрин. От первой темы (bezdepozit,
        хвойный #0C1F1B + золото + засечки) отличается и тоном, и подачей:
        там тёплый редакционный обзор, здесь холодный неон и таблицы. ── */
  --ag-page:     #0E1017;   /* фон страницы, почти чёрный сине-серый   */
  --ag-surface:  #171A24;   /* карточки, таблицы                       */
  --ag-panel:    #1E2230;   /* приподнятая плашка, шапка таблицы       */
  --ag-line:     #2C3242;   /* хайрлайн на тёмном                      */
  --ag-accent:   #8B6CFF;   /* фиолет, на тёмном светлее светлой темы  */
  --ag-accent-dk:#A98FFF;   /* акцент для ТЕКСТА на тёмном (светлее!)  */
  --ag-accent-sf:#241E3D;   /* фиолетовая подложка чипов               */
  --ag-cta:      #FF6A2B;   /* оранжевый CTA                           */
  --ag-cta-ink:  #FF9160;   /* оранжевый ТЕКСТ на тёмном               */
  --ag-mint:     #2EE6A8;   /* «активна / проверено»                   */
  --ag-mint-sf:  #0E2C24;
  --ag-gold:     #FFC24D;   /* суммы, звёзды                           */
  --ag-gold-dk:  #FFD37A;
  --ag-text:     #F2F4FA;
  --ag-ink:      #F2F4FA;   /* ОСНОВНОЙ ТЕКСТ (на тёмном — светлый)    */
  --ag-dim:      #A9B2C7;
  --ag-faint:    #7C859C;
  --ag-dark-2:   #090B11;   /* самая тёмная полоса: utility и футер    */

  /* базовые sfb-токены → бренд (каскадом красит и внутренние страницы) */
  --accent:      #8B6CFF;
  --accent-ink:  #A98FFF;
  --accent-tint: #241E3D;
  --cta:         #FF6A2B;
  --cta-ink:     #FF9160;
  --success:     #2EE6A8;
  --success-tint:#0E2C24;
  --success-bd:  #1C5B47;
  --warn:        #FFC24D;
  --warn-tint:   #2A2312;
  --danger:      #FF6B5A;

  --ink:         #F2F4FA;
  --body:        #C9D1E2;
  --reading:     #C9D1E2;
  --muted:       #A9B2C7;
  --muted-2:     #7C859C;

  --surface:     #171A24;
  --surface-2:   #1E2230;
  --border:      #2C3242;
  --border-soft: #232838;

  /* ⛔ --dark обязан остаться ТЁМНЫМ: это цвет ТЕКСТА на белых элементах
     (например .gamecard_demo — белая кнопка на тёмном скриме). Если сделать
     его светлым «за компанию», текст на белом исчезнет. */
  --dark:        #0E1017;
  --dark-2:      #090B11;
  --dark-hover:  #232838;
  --dark-muted:  #A9B2C7;
  --dark-faint:  #7C859C;
  --page-bg:     #0E1017;

  --cream:       #171A24;
  --cream-2:     #1E2230;
  --cream-bd:    #2C3242;
  --cream-ag-2:  #232838;

  --star:        #FFC24D;

  --font-body:   'Onest', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-head:   'Manrope', 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:   'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;

  --sh-cta:   0 10px 26px rgba(255,106,43,.34);
  --sh-card:  0 10px 30px rgba(0,0,0,.45);
  --sh-panel: 0 22px 54px rgba(0,0,0,.60);

  --ag-r:     14px;
  --ag-r-lg:  22px;
}



html { background: var(--ag-page); }
body.sfb-body { background: var(--ag-page); color: var(--body); font-family: var(--font-body); }

/* =============================================================================
   01 · КАРКАС
   ============================================================================= */
.bd { color: var(--ag-text); font-family: var(--font-body); }
.bd *, .bd *::before, .bd *::after { box-sizing: border-box; }
.ag-wrap { width: min(1180px, 100% - 40px); margin-inline: auto; }

.bd h1, .bd h2, .bd h3, .bd h4 { font-family: var(--font-head); color: var(--ag-text); margin: 0; letter-spacing: -.01em; }

/* кнопки — namespace ag-* */
.ag-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  background: var(--ag-cta); color: #fff; font-weight: 700; font-size: 15px;
  padding: 13px 24px; border-radius: var(--ag-r); text-decoration: none; border: 0;
  box-shadow: var(--sh-cta); transition: filter .14s ease, transform .14s ease;
  line-height: 1.15; white-space: nowrap;
}
.ag-btn:hover { filter: brightness(1.09); transform: translateY(-1px); text-decoration: none; color: #fff; }
.ag-btn.sm { padding: 9px 15px; font-size: 13px; }
.ag-btn.lg { padding: 16px 32px; font-size: 16.5px; }
.ag-btn.ghost {
  background: transparent; color: var(--ag-gold); border: 1.5px solid var(--ag-gold-dk); box-shadow: none;
}
.ag-btn.ghost:hover { background: rgba(233,180,76,.12); color: var(--ag-gold); }

/* заголовок секции */
/* Ритм секций. Было 62px — при коротких блоках экран читался как пустой
   макет. 44px держит разделение, но убирает провалы между секциями. */
.ag-sec { padding: 44px 0; }
.ag-sec.tint { background: var(--ag-surface); border-block: 1px solid var(--ag-line); }
.ag-eyebrow {
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--ag-gold); display: block; margin-bottom: 10px;
}
.ag-h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 700; line-height: 1.2; }
.ag-intro { color: var(--ag-dim); font-size: 16px; line-height: 1.72; max-width: 76ch; margin: 14px 0 0; }

/* =============================================================================
   02 · UTILITY-ПОЛОСА + ХЕДЕР + ZERO-JS МОБИЛЬНОЕ МЕНЮ
   ============================================================================= */
.ag-utility { background: var(--ag-dark-2, #081714); border-bottom: 1px solid var(--ag-line); }
.ag-utility .ag-wrap {
  display: flex; align-items: center; gap: 12px; padding: 7px 0; flex-wrap: wrap;
  font-size: 12px; color: var(--ag-faint);
}
.ag-u-age {
  font-family: var(--font-mono); font-weight: 700; font-size: 11px; color: #fff;
  background: var(--ag-cta); border-radius: 5px; padding: 2px 7px; flex: none;
}
.ag-u-upd { margin-left: auto; color: var(--ag-faint); }

.ag-top {
  position: sticky; top: 0; z-index: 60;
  background: rgba(14,16,23,.88);
  backdrop-filter: saturate(1.3) blur(9px);
  border-bottom: 1px solid var(--ag-line);
}
.ag-top .ag-wrap { display: flex; align-items: center; gap: 20px; min-height: 70px; }
/* ── ЛОГОТИП (.ag-lg) — знак SVG + ТЕКСТОВЫЙ вордмарк ───────────────────────
   Класс `.ag-brand` для логотипа больше НЕ используется: тем же именем названа
   карточка оператора в каталоге (§09 ниже), и два разных компонента делили одни
   селекторы. Логотип теперь `.ag-lg`, каталог остаётся `.ag-brand`.
   Вордмарк — живой текст (partials/ag-logo.html), поэтому берёт шрифт страницы;
   ширину ему не задаём — пусть считает сам. */
.ag-lg { flex: none; display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }
.ag-lg:hover { text-decoration: none; }
.ag-lg__mark { flex: none; display: block; width: 42px; height: 42px; border-radius: 13px; box-shadow: 0 6px 16px rgba(139,108,255,.28); }
.ag-lg__mark svg { display: block; width: 100%; height: 100%; }
.ag-lg__txt { display: flex; flex-direction: column; line-height: 1.05; }
.ag-lg__nm {
  font-family: var(--font-head); font-weight: 800; font-size: 19px; letter-spacing: -.015em;
  color: var(--ag-ink); white-space: nowrap;
}
.ag-lg__nm b { font-weight: 800; color: var(--ag-mint); }
.ag-lg__sub {
  font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .13em; text-transform: uppercase;
  color: var(--ag-faint); margin-top: 5px; white-space: nowrap;
}
.ag-lg:hover .ag-lg__nm { color: #fff; }
.ag-nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.ag-nav > a, .ag-cat > .ag-cat-t {
  display: inline-flex; align-items: center; gap: 5px;
  color: var(--ag-text); font-size: 14.5px; font-weight: 500; text-decoration: none;
  padding: 9px 12px; border-radius: 8px; cursor: pointer; white-space: nowrap;
}
.ag-nav > a:hover, .ag-cat:hover > .ag-cat-t { background: var(--ag-panel); color: var(--ag-gold); text-decoration: none; }
.ag-cat { position: relative; }
.ag-cat > .ag-cat-t em { font-style: normal; font-size: 10px; color: var(--ag-faint); }
.ag-drop {
  position: absolute; top: calc(100% + 5px); left: 0; min-width: 250px;
  background: var(--ag-surface); border: 1px solid var(--ag-line); border-radius: var(--ag-r);
  box-shadow: var(--sh-panel); padding: 7px; display: none; flex-direction: column;
}
.ag-drop.wide { display: none; min-width: 520px; }
.ag-cat:hover .ag-drop { display: flex; }
.ag-cat:hover .ag-drop.wide { display: grid; grid-template-columns: 1fr 1fr; max-height: 72vh; overflow: auto; }
.ag-drop a { color: var(--ag-dim); font-size: 14px; text-decoration: none; padding: 9px 12px; border-radius: 7px; }
.ag-drop a:hover { background: var(--ag-panel); color: var(--ag-gold); text-decoration: none; }
.ag-top .ag-btn { flex: none; }

/* burger: zero-JS через скрытый checkbox */
.ag-burger { display: none; }
.ag-burger-l {
  display: none; flex: none; width: 44px; height: 44px; border-radius: 10px;
  border: 1px solid var(--ag-line); background: var(--ag-surface); cursor: pointer;
  align-items: center; justify-content: center; margin-left: auto;
}
.ag-burger-l span { display: block; width: 20px; height: 2px; background: var(--ag-gold); position: relative; }
.ag-burger-l span::before, .ag-burger-l span::after {
  content: ""; position: absolute; left: 0; width: 20px; height: 2px; background: var(--ag-gold);
}
.ag-burger-l span::before { top: -6px; } .ag-burger-l span::after { top: 6px; }

/* =============================================================================
   03 · МОРДА
   ============================================================================= */
/* — cover: центрированный, без боковой карточки — */
/* ⛔ БЫЛО: background ... var(--ag-ink). В тёмной теме --ag-ink был ФОНОМ
   страницы, в светлой это ЦВЕТ ТЕКСТА (#14162B). Обложка заливалась почти
   чёрным, а H1 на ней рисовался тем же тёмным цветом и становился НЕВИДИМ —
   это и был «отвратительный дизайн»: огромный чёрный блок с пустотой посередине
   между белой шапкой и светлым контентом. Поймано скриншотом, а не чтением CSS. */
.ag-cover {
  background:
    radial-gradient(760px 380px at 50% -12%, rgba(108,76,241,.14), transparent 64%),
    radial-gradient(620px 320px at 88% 4%, rgba(255,90,31,.10), transparent 62%),
    var(--ag-page);
  border-bottom: 1px solid var(--ag-line);
  padding: 38px 0 34px; text-align: center;
}
.ag-cover h1, .ag-cover .ag-h1 { color: var(--ag-ink); }
.ag-cover .ag-wrap { max-width: 940px; }
.ag-kick {
  display: inline-block; font-family: var(--font-mono); font-size: 11.5px;
  letter-spacing: .18em; text-transform: uppercase; color: var(--ag-gold);
  border: 1px solid var(--ag-line); background: var(--ag-surface);
  padding: 6px 14px; border-radius: 999px;
}
.ag-cover h1 { font-size: clamp(29px, 4.2vw, 47px); line-height: 1.14; font-weight: 700; margin: 13px 0 0; }
.ag-sub { color: var(--ag-dim); font-size: 17.5px; line-height: 1.65; margin: 11px auto 0; max-width: 66ch; }
.ag-cover-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; justify-content: center; }
.ag-cover-note { color: var(--ag-faint); font-size: 12.5px; margin: 12px 0 0; }

/* спойлер промо-кода в ковере */
.ag-codeline {
  display: inline-flex; align-items: center; gap: 14px; margin-top: 15px;
  border: 1.5px dashed var(--ag-gold-dk); border-radius: var(--ag-r);
  background: rgba(233,180,76,.07); padding: 10px 16px;
}
.ag-codeline .k {
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--ag-faint);
}
.ag-code {
  display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ag-text);
  font-family: var(--font-mono); font-size: 17px; font-weight: 700; letter-spacing: .12em;
}
.ag-code:hover { text-decoration: none; color: var(--ag-text); }
.ag-code .v { filter: blur(5px); transition: filter .16s ease; user-select: none; }
.ag-code:hover .v, .ag-code:focus .v { filter: blur(0); }
.ag-code .go {
  font-family: var(--font-body); font-size: 11.5px; letter-spacing: .06em;
  color: var(--ag-cta-ink); font-weight: 700; text-transform: uppercase; white-space: nowrap;
}
.ag-codeline.compact { display: flex; margin: 14px 0 0; padding: 9px 12px; gap: 8px; flex-wrap: wrap; }
.ag-codeline.compact .ag-code { font-size: 15px; }

/* факты — горизонтальная лента под ковером */
.ag-facts {
  list-style: none; display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0; margin: 26px 0 0; padding: 0; border: 1px solid var(--ag-line);
  border-radius: var(--ag-r); overflow: hidden; background: var(--ag-surface);
}
.ag-facts li { padding: 15px 14px; border-left: 1px solid var(--ag-line); }
.ag-facts li:first-child { border-left: 0; }
.ag-facts b { display: block; font-family: var(--font-head); font-size: 25px; font-weight: 700; color: var(--ag-gold); }
.ag-facts span { display: block; margin-top: 4px; color: var(--ag-faint); font-size: 12.5px; }

/* — board: сравнительная ТАБЛИЦА оферт (grid-строки, не карточки) — */
.ag-board {
  margin-top: 28px; border: 1px solid var(--ag-line); border-radius: var(--ag-r-lg); overflow: hidden;
  background: var(--ag-surface);
}
.ag-row {
  display: grid; grid-template-columns: 2.1fr .8fr .9fr .9fr auto; gap: 18px;
  align-items: center; padding: 16px 22px; border-top: 1px solid var(--ag-line);
}
.ag-row:first-child { border-top: 0; }
.ag-row-h {
  background: rgba(233,180,76,.09); font-family: var(--font-mono); font-size: 10.5px;
  letter-spacing: .14em; text-transform: uppercase; color: var(--ag-faint);
}
.ag-row .c-name b { display: block; font-family: var(--font-head); font-size: 16px; color: var(--ag-text); }
.ag-row .c-name small { display: block; color: var(--ag-dim); font-size: 13px; line-height: 1.5; margin-top: 4px; }
.ag-row .c-type { color: var(--ag-gold); font-weight: 600; font-size: 13.5px; }
.ag-row .c-wager, .ag-row .c-req { color: var(--ag-dim); font-size: 13.5px; }
.ag-row:not(.ag-row-h):hover { background: var(--ag-panel); }

/* — steps: нумерованная timeline — */
.ag-steps { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 0; }
.ag-steps li {
  display: grid; grid-template-columns: 62px 1fr; gap: 20px; align-items: start;
  padding: 20px 0; border-top: 1px dashed var(--ag-line);
}
.ag-steps li:first-child { border-top: 0; }
.ag-steps .n {
  font-family: var(--font-mono); font-size: 14px; font-weight: 700; color: var(--ag-ink);
  background: var(--ag-gold); border-radius: 8px; width: 46px; height: 34px;
  display: grid; place-items: center;
}
.ag-steps b { display: block; font-family: var(--font-head); font-size: 17.5px; color: var(--ag-text); }
.ag-steps p { color: var(--ag-dim); font-size: 14.5px; line-height: 1.65; margin: 6px 0 0; max-width: 82ch; }

/* — types: три формата — */
.ag-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.ag-type {
  background: var(--ag-surface); border: 1px solid var(--ag-line);
  border-top: 3px solid var(--ag-gold); border-radius: var(--ag-r); padding: 22px 22px 20px;
}
.ag-type .ic {
  width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center;
  background: rgba(233,180,76,.12); border: 1px solid var(--ag-line);
  color: var(--ag-gold); font-family: var(--font-head); font-size: 20px; font-weight: 700;
}
.ag-type h3 { font-size: 17.5px; margin-top: 14px; }
.ag-type p { color: var(--ag-dim); font-size: 14.5px; line-height: 1.62; margin: 8px 0 0; }
.ag-type .tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.ag-type .tags span {
  font-size: 11.5px; color: var(--ag-dim); background: var(--ag-panel);
  border: 1px solid var(--ag-line); border-radius: 5px; padding: 3px 8px;
}

/* — checks + terms — */
.ag-split { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; }
.ag-checklist { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 11px; }
.ag-checklist li { display: grid; grid-template-columns: 26px 1fr; gap: 10px; align-items: start; }
.ag-checklist i { font-style: normal; color: var(--ag-mint); font-size: 16px; line-height: 1.4; }
.ag-checklist b { display: block; font-family: var(--font-head); font-size: 15px; color: var(--ag-text); }
.ag-checklist span { display: block; color: var(--ag-dim); font-size: 13.5px; line-height: 1.55; margin-top: 2px; }

.ag-terms { margin: 24px 0 0; }
.ag-terms dt {
  font-family: var(--font-head); font-size: 15px; color: var(--ag-gold);
  padding-top: 13px; border-top: 1px solid var(--ag-line);
}
.ag-terms dt:first-child { border-top: 0; padding-top: 0; }
.ag-terms dd { margin: 5px 0 13px; color: var(--ag-dim); font-size: 13.5px; line-height: 1.6; }

/* — editorial: контейнер сгенерированного текста на морде — */
.ag-editorial { max-width: 84ch; margin-inline: auto; }

/* =============================================================================
   04 · YMYL · FAQ · ФУТЕР
   ============================================================================= */
.ag-ymyl {
  background: var(--ag-surface); border: 1px solid var(--ag-line);
  border-left: 4px solid var(--ag-cta); border-radius: var(--ag-r-lg); padding: 30px 32px;
}
.ag-ymyl h3 { display: flex; align-items: center; gap: 13px; font-size: 21px; }
.b18 {
  display: inline-grid; place-items: center; min-width: 46px; height: 30px; padding: 0 9px;
  border-radius: 7px; background: var(--ag-cta); color: #fff;
  font-family: var(--font-mono); font-weight: 700; font-size: 14px;
}
.ag-ymyl p { color: var(--ag-dim); font-size: 15px; line-height: 1.7; margin: 14px 0 0; max-width: 84ch; }
.ag-ymyl .tools { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 22px; }
.ag-ymyl .tool { background: var(--ag-surface); border: 1px solid var(--ag-line); border-radius: var(--ag-r); padding: 14px 16px; }
.ag-ymyl .tool b { display: block; font-family: var(--font-head); color: var(--ag-gold); font-size: 14.5px; }
.ag-ymyl .tool span { display: block; color: var(--ag-faint); font-size: 12.5px; line-height: 1.5; margin-top: 4px; }
.ag-ymyl .help { font-size: 14px; }
.ag-ymyl .help a { color: var(--ag-gold); }

.ag-faq { display: grid; gap: 9px; margin-top: 26px; counter-reset: bdq; }
.ag-faq details { background: var(--ag-surface); border: 1px solid var(--ag-line); border-radius: var(--ag-r); }
.ag-faq summary {
  cursor: pointer; list-style: none; padding: 16px 22px 16px 58px; position: relative;
  font-family: var(--font-head); font-size: 16px; font-weight: 600; color: var(--ag-text);
}
.ag-faq summary::-webkit-details-marker { display: none; }
.ag-faq summary::before {
  counter-increment: bdq; content: counter(bdq, decimal-leading-zero);
  position: absolute; left: 22px; top: 17px; font-family: var(--font-mono);
  font-size: 13px; color: var(--ag-gold); font-weight: 700;
}
.ag-faq details[open] summary { color: var(--ag-gold); }
.ag-faq details p { color: var(--ag-dim); font-size: 14.5px; line-height: 1.7; margin: 0; padding: 0 22px 19px 58px; }

.ag-agebar { background: var(--ag-surface); border-top: 1px solid var(--ag-line); }
.ag-agebar .ag-wrap { display: flex; align-items: center; gap: 15px; padding: 15px 0; flex-wrap: wrap; }
.ag-agebar span:not(.b18) { color: var(--ag-dim); font-size: 13.5px; line-height: 1.6; }
/* .b18 внутри .ag-agebar: правило выше специфичнее — явно возвращаем белый текст. */
.ag-agebar .b18 { color: #fff; }
.ag-agebar a { color: var(--ag-gold); }

.ag-foot { background: var(--ag-dark-2); border-top: 1px solid var(--ag-line); padding: 42px 0 26px; }
.ag-foot-top { display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 34px; }
.ag-foot .ag-lg { margin-bottom: 14px; }
.ag-foot p { color: var(--ag-faint); font-size: 13.5px; line-height: 1.65; max-width: 44ch; margin: 0; }
.ag-foot .fh {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--ag-gold); margin-bottom: 11px;
}
.ag-foot a { display: block; color: var(--ag-dim); font-size: 13.5px; text-decoration: none; padding: 5px 0; }
.ag-foot a:hover { color: var(--ag-gold); }
.ag-foot-legal {
  display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 28px; padding-top: 18px;
  border-top: 1px solid var(--ag-line);
}
.ag-foot-legal a { padding: 0; font-size: 13px; }
.ag-foot .fine {
  margin-top: 16px; color: var(--ag-faint); font-size: 12.5px; line-height: 1.6;
}

/* =============================================================================
   05 · ВНУТРЕННИЕ СТРАНИЦЫ (.ag-page)
   Скелет намеренно ДРУГОЙ: компактная плашка + ЛЕВЫЙ sticky-сайдбар
   (у базы рельс справа и .page-wrap/.reading/.rail — их в форке нет вовсе;
   у соседнего форка mrbit сайдбара нет, там горизонтальный chapter-bar).
   ============================================================================= */
.ag-page { background: var(--ag-page); }

.ag-head {
  background: var(--ag-surface); border-bottom: 1px solid var(--ag-line); padding: 26px 0 28px;
}
.ag-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; font-size: 12.5px; color: var(--ag-faint); }
.ag-crumbs a { color: var(--ag-dim); text-decoration: none; }
.ag-crumbs a:hover { color: var(--ag-gold); }
.ag-crumbs .sep { color: var(--ag-line); }
.ag-crumbs .cur { color: var(--ag-gold); }
.ag-head h1 { font-size: clamp(26px, 3.6vw, 40px); line-height: 1.16; margin: 14px 0 0; max-width: 28ch; }
.ag-headlead { color: var(--ag-dim); font-size: 16.5px; line-height: 1.65; margin: 13px 0 0; max-width: 76ch; }
.ag-chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0 0; }
.ag-chip {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em;
  color: var(--ag-dim); border: 1px solid var(--ag-line); background: var(--ag-surface);
  border-radius: 6px; padding: 5px 10px;
}
.ag-chip.ok { color: var(--ag-mint); border-color: #1C5B47; }
.ag-chip.age { color: #fff; background: var(--ag-cta); border-color: var(--ag-cta); }

/* сетка документа: сайдбар СЛЕВА */
.ag-doc { padding: 34px 0 60px; }
.ag-doc > .ag-wrap { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 46px; align-items: start; }
.ag-side { position: sticky; top: 88px; display: grid; gap: 16px; }

.ag-toc { background: var(--ag-surface); border: 1px solid var(--ag-line); border-radius: var(--ag-r); padding: 16px 18px; }
.ag-toc-h {
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--ag-gold); margin-bottom: 10px;
}
.ag-toc ol { margin: 0; padding: 0 0 0 4px; list-style: none; counter-reset: bdtoc; max-height: 52vh; overflow: auto; }
.ag-toc li { counter-increment: bdtoc; margin: 0; }
.ag-toc li a {
  display: block; color: var(--ag-dim); font-size: 13.5px; line-height: 1.45;
  text-decoration: none; padding: 6px 0 6px 26px; position: relative;
}
.ag-toc li a::before {
  content: counter(bdtoc, decimal-leading-zero); position: absolute; left: 0; top: 6px;
  font-family: var(--font-mono); font-size: 11px; color: var(--ag-faint);
}
.ag-toc li a:hover { color: var(--ag-gold); text-decoration: none; }

.ag-sidecard {
  background: var(--ag-panel); border: 1px solid var(--ag-line);
  border-top: 3px solid var(--ag-gold); border-radius: var(--ag-r); padding: 18px;
}
.ag-sidecard .k { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--ag-gold); }
.ag-sidecard .t { font-family: var(--font-head); font-size: 16.5px; color: var(--ag-text); margin-top: 7px; line-height: 1.3; }
.ag-sidecard .m { color: var(--ag-faint); font-size: 12.5px; margin-top: 6px; line-height: 1.5; }
.ag-sidecard .ag-btn { width: 100%; margin-top: 14px; }
.ag-sidecard .rg { color: var(--ag-faint); font-size: 11.5px; margin: 10px 0 0; text-align: center; }

/* типографика статьи */
.ag-prose { color: var(--reading); font-size: 16.5px; line-height: 1.78; }
.ag-prose > h2 {
  font-family: var(--font-head); font-size: clamp(21px, 2.5vw, 28px); color: var(--ag-text);
  margin: 44px 0 13px; line-height: 1.25; padding-bottom: 9px; border-bottom: 2px solid var(--ag-line);
}
.ag-prose > h3 { font-family: var(--font-head); font-size: 19.5px; color: var(--ag-gold); margin: 28px 0 9px; }
.ag-prose p { margin: 0 0 18px; }
.ag-prose a { color: var(--ag-gold); text-decoration: underline; text-underline-offset: 3px; }
.ag-prose ul, .ag-prose ol { margin: 0 0 20px; padding-left: 22px; }
.ag-prose li { margin: 7px 0; }
.ag-prose ul li::marker { color: var(--ag-gold); }
.ag-prose ol li::marker { color: var(--ag-cta-ink); font-family: var(--font-mono); font-weight: 700; }
.ag-prose blockquote {
  margin: 24px 0; padding: 16px 20px; border-left: 3px solid var(--ag-gold);
  background: var(--ag-surface); border-radius: 0 var(--ag-r) var(--ag-r) 0; color: var(--ag-dim);
}
.ag-prose table { width: 100%; border-collapse: collapse; margin: 22px 0; font-size: 14.5px; }
.ag-prose th {
  background: rgba(233,180,76,.1); color: var(--ag-gold); font-family: var(--font-mono);
  font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; text-align: left;
  padding: 12px 14px; border-bottom: 1px solid var(--ag-line);
}
.ag-prose td { padding: 12px 14px; border-bottom: 1px solid var(--ag-line); color: var(--ag-dim); }
.ag-prose tr:nth-child(even) td { background: rgba(23,52,45,.5); }

.ag-block { margin: 26px 0; }
.ag-block-cta { margin-top: 14px; }

.ag-rgline {
  display: grid; grid-template-columns: auto 1fr; gap: 15px; align-items: start;
  background: rgba(184,67,26,.08); border: 1px solid #5C2A16; border-radius: var(--ag-r);
  padding: 17px 19px; margin: 32px 0 0;
}
.ag-rgline p { color: var(--ag-dim); font-size: 14px; line-height: 1.65; margin: 0; }
.ag-rgline a { color: var(--ag-gold); }

.ag-disclosure { color: var(--ag-faint); font-size: 12.5px; line-height: 1.6; margin: 16px 0 0; }

.ag-related { margin-top: 36px; }
.ag-related__h {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--ag-gold); margin-bottom: 11px;
}
.ag-rrow {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 14px 17px; border: 1px solid var(--ag-line); border-radius: var(--ag-r);
  background: var(--ag-surface); text-decoration: none; margin-bottom: 8px;
}
.ag-rrow:hover { border-color: var(--ag-gold-dk); text-decoration: none; }
.ag-rrow .t { color: var(--ag-text); font-family: var(--font-head); font-size: 15.5px; }
.ag-rrow .tag { color: var(--ag-faint); font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }

/* =============================================================================
   06 · INLINE PIPELINE-БЛОКИ .sfb-* внутри .ag-prose / .ag-editorial
   (в .Content их вставляет генератор; базовый sfb-design.css красит их светло) */
.ag-prose .sfb-cta, .ag-editorial .sfb-cta,
.ag-prose .sfb-card, .ag-editorial .sfb-card,
.ag-prose .sfb-slot, .ag-editorial .sfb-slot,
.ag-prose .sfb-table, .ag-editorial .sfb-table,
.ag-prose .sfb-faq, .ag-editorial .sfb-faq,
.ag-prose .sfb-rg, .ag-editorial .sfb-rg {
  background: var(--ag-surface) !important; border-color: var(--ag-line) !important;
  color: var(--ag-dim) !important; border-radius: var(--ag-r) !important;
}
.ag-prose .sfb-cta a, .ag-editorial .sfb-cta a,
.ag-prose .sfb-slot a.button, .ag-editorial .sfb-slot a.button {
  background: var(--ag-cta) !important; color: #fff !important; border: 0 !important;
  box-shadow: var(--sh-cta) !important;
}
.ag-prose .sfb-slots, .ag-editorial .sfb-slots { background: transparent !important; }
.ag-prose .sfb-faq summary, .ag-editorial .sfb-faq summary { color: var(--ag-text) !important; }
.ag-prose .sfb-table th, .ag-editorial .sfb-table th { background: rgba(233,180,76,.1) !important; color: var(--ag-gold) !important; }

/* =============================================================================
   07 · СПОЙЛЕР ПРОМО-КОДА (§3.6a) — клик = переход по CTA
   ============================================================================= */
.sfb-code-spoiler {
  display: inline-flex; align-items: center; gap: .45em; padding: .3em .9em;
  border: 1.5px dashed var(--ag-gold-dk); border-radius: 8px; color: var(--ag-gold);
  font-weight: 700; font-size: .92em; cursor: pointer; text-decoration: none;
  line-height: 1.2; white-space: nowrap; background: rgba(233,180,76,.08);
}
.sfb-code-spoiler::before { content: "🎁"; font-size: .95em; }
.sfb-code-spoiler:hover { background: rgba(233,180,76,.18); text-decoration: none; color: var(--ag-gold); }

/* =============================================================================
   08 · АДАПТИВ
   ============================================================================= */
@media (max-width: 1080px) {
  .ag-doc > .ag-wrap { grid-template-columns: 1fr; gap: 26px; }
  .ag-side { position: static; grid-template-columns: 1fr 1fr; }
  .ag-types { grid-template-columns: 1fr; }
  .ag-split { grid-template-columns: 1fr; gap: 34px; }
  .ag-ymyl .tools { grid-template-columns: repeat(2, 1fr); }
  .ag-foot-top { grid-template-columns: 1fr 1fr; }
  .ag-facts { grid-template-columns: repeat(2, 1fr); }
  .ag-facts li:nth-child(3) { border-left: 0; }
  .ag-row { grid-template-columns: 1.7fr .8fr .9fr auto; }
  .ag-row .c-req { display: none; }
}

@media (max-width: 760px) {
  .ag-wrap { width: min(1180px, 100% - 28px); }

  /* мобильное меню: burger виден, nav сворачивается в НЕПРОЗРАЧНУЮ панель.
     Хедер держим в одну строку: уменьшаем лого и CTA. */
  .ag-burger-l { display: inline-flex; }
  .ag-top .ag-wrap { flex-wrap: wrap; min-height: 60px; row-gap: 0; gap: 8px; }
  .ag-lg__mark { width: 34px; height: 34px; border-radius: 10px; }
  .ag-lg__nm { font-size: 16px; }
  .ag-lg__sub { display: none; }        /* в одну строку с CTA и бургером */
  .ag-top .ag-btn { order: 2; margin-left: auto; padding: 10px 15px; font-size: 13.5px; }
  .ag-burger-l { order: 3; margin-left: 0; width: 42px; height: 42px; }
  .ag-nav {
    order: 4; display: none; width: 100%; flex-direction: column; align-items: stretch;
    gap: 2px; margin: 0 0 12px; padding: 12px; border-radius: var(--ag-r);
    background: var(--ag-surface);                 /* НЕПРОЗРАЧНАЯ панель */
    border: 1px solid var(--ag-line); box-shadow: var(--sh-panel);
    max-height: 74vh; overflow-y: auto;
  }
  .ag-burger:checked ~ .ag-nav { display: flex; }
  .ag-nav > a, .ag-cat > .ag-cat-t { padding: 12px 14px; font-size: 15px; }
  .ag-cat { position: static; }
  .ag-drop, .ag-drop.wide {
    position: static; display: flex !important; grid-template-columns: 1fr !important;
    box-shadow: none; border: 0; border-left: 2px solid var(--ag-line); border-radius: 0;
    background: transparent; padding: 0 0 6px 14px; margin-left: 14px; min-width: 0; max-height: none;
  }

  .ag-sec { padding: 44px 0; }
  .ag-cover { padding: 44px 0 40px; }
  .ag-side { grid-template-columns: 1fr; }

  /* таблица оферт → карточки-строки */
  .ag-row { grid-template-columns: 1fr; gap: 8px; padding: 16px 18px; }
  .ag-row-h { display: none; }
  .ag-row .c-type::before { content: "Тип: "; color: var(--ag-faint); }
  .ag-row .c-wager::before { content: "Превъртане: "; color: var(--ag-faint); }
  .ag-row .c-req { display: block; }
  .ag-row .c-req::before { content: "Изисква: "; color: var(--ag-faint); }
  .ag-row .ag-btn { width: 100%; }

  .ag-steps li { grid-template-columns: 46px 1fr; gap: 14px; }
  .ag-ymyl { padding: 22px 18px; }
  .ag-ymyl .tools { grid-template-columns: 1fr; }
  .ag-foot-top { grid-template-columns: 1fr; gap: 24px; }
  .ag-utility .ag-wrap { font-size: 11.5px; }
  .ag-u-upd { display: none; }
  .ag-codeline { width: 100%; justify-content: space-between; }
}

@media (max-width: 460px) {
  .ag-facts { grid-template-columns: 1fr; }
  .ag-facts li { border-left: 0; border-top: 1px solid var(--ag-line); }
  .ag-facts li:first-child { border-top: 0; }
}


/* =============================================================================
   MARKDOWN-ТАБЛИЦЫ + ДОБОР ПЕРЕКРАСКИ .sfb-*   (2026-08-06)
   Перенос правок, отлаженных на теме mrbit (mrbit-brand.css, блоки 06/07).
   Построено на БАЗОВЫХ sfb-токенах, которые эта тема переопределяет под себя,
   → одна заготовка корректна и на тёмных, и на светлых темах.
   ============================================================================= */
.ag-prose,
.ag-editorial {
  --sfbx-bg:     var(--surface);
  --sfbx-bg-2:   var(--surface-2);
  --sfbx-line:   var(--border);
  --sfbx-line-2: var(--border-soft);
  --sfbx-tx:     var(--reading);
  --sfbx-strong: var(--ink);
  --sfbx-mut:    var(--muted);
  --sfbx-faint:  var(--muted-2);
  --sfbx-acc:    var(--accent);
  --sfbx-acc-bg: var(--accent-tint);
  --sfbx-acc-dk: var(--accent-ink);
}

/* ---- (а) таблицы из markdown -----------------------------------------------
   Приходят голым <table> без обёртки .sfb-table (её ставит только blockify),
   поэтому под правила sfb-design.css не попадали и рисовались браузерным
   дефолтом. Скоуп — ПРЯМОЙ потомок, чтобы не конфликтовать с `.sfb-table table`
   (одинаковая специфичность, выигрывает то, что ниже по файлу). */
.ag-prose > table,
.ag-editorial > table {
  display: block;                /* даёт горизонтальный скролл на узких экранах */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  border-collapse: collapse;
  margin: 26px 0;
  font-size: 15px;
  line-height: 1.5;
  background: var(--sfbx-bg);
  border: 1px solid var(--sfbx-line);
  border-radius: var(--r-md, 9px);
  color: var(--sfbx-tx);
}
.ag-prose > table thead th,
.ag-editorial > table thead th {
  text-align: left;
  font-family: var(--font-head, inherit);
  font-weight: 700;
  font-size: 13.5px;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--sfbx-acc);
  background: var(--sfbx-acc-bg);
  padding: 12px 16px;
  border-bottom: 1px solid var(--sfbx-line);
  white-space: nowrap;
}
.ag-prose > table td,
.ag-editorial > table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--sfbx-line-2);
  vertical-align: top;
  color: var(--sfbx-tx);
}
.ag-prose > table tbody tr:last-child td,
.ag-editorial > table tbody tr:last-child td { border-bottom: 0; }
.ag-prose > table tbody tr:nth-child(even),
.ag-editorial > table tbody tr:nth-child(even) { background: var(--sfbx-bg-2); }
.ag-prose > table tbody tr:hover,
.ag-editorial > table tbody tr:hover { background: var(--sfbx-acc-bg); }
.ag-prose > table td:first-child,
.ag-editorial > table td:first-child { color: var(--sfbx-strong); font-weight: 600; }
.ag-prose > table td strong,
.ag-editorial > table td strong { color: var(--sfbx-acc); font-weight: 700; }
.ag-prose > table caption,
.ag-editorial > table caption {
  caption-side: top; text-align: left;
  padding: 0 0 10px; color: var(--sfbx-faint); font-size: 14px;
}


/* ---- (б) добор: .sfb-* блоки, которые перекраска выше не покрывала ----------
   В sfb-design.css у них зашиты светлые константы (#fff, #eef1f6, #c2cad6,
   #5a4413 …), а блок 06 темы перечисляет лишь cta/card/slot/table/faq/rg —
   и то ТОЛЬКО на уровне контейнера. Ниже — то, что оставалось светлым.
   Фактический список классов снят с живых страниц (mrbit-bg-casino.com,
   nv-casino-igri.com, casino-stake-bg.com … /bonusi/, /registraciya/). */

/* .sfb-faq красится только как КОНТЕЙНЕР, карточки .sfb-faq details держат
   `background:#fff` из sfb-design.css:625 → светлые плашки. */
.ag-prose .sfb-faq details,
.ag-editorial .sfb-faq details {
  background: var(--sfbx-bg-2) !important;
  border-color: var(--sfbx-line) !important;
}
.ag-prose .sfb-faq details[open],
.ag-editorial .sfb-faq details[open] { border-color: var(--sfbx-acc-dk) !important; }
.ag-prose .sfb-faq summary,
.ag-editorial .sfb-faq summary { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-faq summary::after,
.ag-editorial .sfb-faq summary::after { color: var(--sfbx-acc) !important; }
.ag-prose .sfb-faq p,
.ag-editorial .sfb-faq p { color: var(--sfbx-mut) !important; }
/* FAQ шире 640px базового лимита — на внутренних колонка позволяет */
.ag-prose .sfb-faq,
.ag-editorial .sfb-faq { max-width: none !important; }

/* .sfb-license (sfb-design.css:870) — в списке перекраски не значился вовсе. */
.ag-prose .sfb-license,
.ag-editorial .sfb-license {
  background: var(--sfbx-bg) !important;
  border-color: var(--sfbx-line) !important;
  color: var(--sfbx-mut) !important;
}
.ag-prose .sfb-license__badge,
.ag-editorial .sfb-license__badge {
  background: var(--sfbx-acc-bg) !important;
  border-color: var(--sfbx-acc-dk) !important;
  color: var(--sfbx-acc) !important;
}
.ag-prose .sfb-license__name,
.ag-editorial .sfb-license__name { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-license__num,
.ag-editorial .sfb-license__num  { color: var(--sfbx-faint) !important; }
.ag-prose .sfb-license__foot,
.ag-editorial .sfb-license__foot { border-top-color: var(--sfbx-line-2) !important; }
.ag-prose .sfb-license__foot span,
.ag-editorial .sfb-license__foot span { color: var(--sfbx-mut) !important; }
.ag-prose .sfb-license__foot strong,
.ag-editorial .sfb-license__foot strong { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-license a,
.ag-editorial .sfb-license a { color: var(--sfbx-acc) !important; }

/* .sfb-bonus (sfb-design.css:747) — background:#fff; __logo красится
   `background:var(--ink); color:#fff` → на тёмной теме --ink светлый и
   белый текст пропадает. Ставим акцент+поверхность: работает в обе стороны. */
.ag-prose .sfb-bonus,
.ag-editorial .sfb-bonus {
  background: var(--sfbx-bg) !important;
  border-color: var(--sfbx-line) !important;
  color: var(--sfbx-tx) !important;
}
.ag-prose .sfb-bonus__head,
.ag-editorial .sfb-bonus__head {
  background: linear-gradient(120deg, var(--cream, var(--sfbx-bg-2)), var(--cream-2, var(--sfbx-bg))) !important;
  border-bottom-color: var(--sfbx-line) !important;
}
.ag-prose .sfb-bonus__value,
.ag-editorial .sfb-bonus__value { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-bonus__logo,
.ag-editorial .sfb-bonus__logo { background: var(--sfbx-acc) !important; color: var(--sfbx-bg) !important; }
.ag-prose .sfb-bonus__grid span,
.ag-editorial .sfb-bonus__grid span { color: var(--sfbx-mut) !important; }
.ag-prose .sfb-bonus__grid strong,
.ag-editorial .sfb-bonus__grid strong { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-bonus__row > span,
.ag-editorial .sfb-bonus__row > span { color: var(--sfbx-mut) !important; }
.ag-prose .sfb-bonus__fine,
.ag-editorial .sfb-bonus__fine { color: var(--sfbx-faint) !important; }

/* промокод-чип: `border: 1.5px dashed #c2cad6` — холодный светлый хайрлайн */
.ag-prose .sfb-code,
.ag-editorial .sfb-code,
.ag-prose .sfb-bonus code,
.ag-editorial .sfb-bonus code {
  background: var(--sfbx-bg-2) !important;
  border-color: var(--sfbx-acc-dk) !important;
  color: var(--sfbx-strong) !important;
}

/* .sfb-voucher__mask — светлая полосатая заливка #f4f6fa/#eef1f7 и текст #9aa6b6 */
.ag-prose .sfb-voucher__mask,
.ag-editorial .sfb-voucher__mask {
  background: repeating-linear-gradient(45deg,
      var(--sfbx-bg-2), var(--sfbx-bg-2) 6px,
      var(--sfbx-bg) 6px, var(--sfbx-bg) 12px) !important;
  color: var(--sfbx-faint) !important;
}
.ag-prose .sfb-voucher__tag,
.ag-editorial .sfb-voucher__tag { background: var(--cream, var(--sfbx-bg-2)) !important; }

/* .sfb-safety (sfb-design.css:838) — background:#fff, gauge-inner #fff,
   track #eef1f6, barhead #3a4656 */
.ag-prose .sfb-safety,
.ag-editorial .sfb-safety {
  background: var(--sfbx-bg) !important;
  border-color: var(--sfbx-line) !important;
}
.ag-prose .sfb-safety__gauge-inner,
.ag-editorial .sfb-safety__gauge-inner { background: var(--sfbx-bg) !important; }
.ag-prose .sfb-safety__score,
.ag-editorial .sfb-safety__score { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-safety__max,
.ag-editorial .sfb-safety__max   { color: var(--sfbx-faint) !important; }
.ag-prose .sfb-safety__desc,
.ag-editorial .sfb-safety__desc  { color: var(--sfbx-mut) !important; }
.ag-prose .sfb-safety__barhead,
.ag-editorial .sfb-safety__barhead { color: var(--sfbx-mut) !important; }
.ag-prose .sfb-safety__track,
.ag-editorial .sfb-safety__track { background: var(--sfbx-bg-2) !important; }

/* .sfb-compare (sfb-design.css:895) — background:#fff, is-pick #fffaf5 */
.ag-prose .sfb-compare,
.ag-editorial .sfb-compare {
  background: var(--sfbx-bg) !important;
  border-color: var(--sfbx-line) !important;
}
.ag-prose .sfb-compare table,
.ag-editorial .sfb-compare table { color: var(--sfbx-tx) !important; }
.ag-prose .sfb-compare thead th,
.ag-editorial .sfb-compare thead th { color: var(--sfbx-mut) !important; border-bottom-color: var(--sfbx-line) !important; }
.ag-prose .sfb-compare thead th.is-pick,
.ag-editorial .sfb-compare thead th.is-pick { background: var(--sfbx-acc-bg) !important; color: var(--sfbx-strong) !important; }
.ag-prose .sfb-compare td,
.ag-editorial .sfb-compare td { border-bottom-color: var(--sfbx-line-2) !important; }
.ag-prose .sfb-compare td:first-child,
.ag-editorial .sfb-compare td:first-child { color: var(--sfbx-mut) !important; }
.ag-prose .sfb-compare td.is-pick,
.ag-editorial .sfb-compare td.is-pick { background: var(--sfbx-bg-2) !important; }

/* .sfb-contact__card (sfb-design.css:930) — background:#fff, hover #cdd6e3;
   иконка --tg зашита светло-голубой #eaf4fb */
.ag-prose .sfb-contact__card,
.ag-editorial .sfb-contact__card {
  background: var(--sfbx-bg) !important;
  border-color: var(--sfbx-line) !important;
}
.ag-prose .sfb-contact__card:hover,
.ag-editorial .sfb-contact__card:hover { border-color: var(--sfbx-acc) !important; }
.ag-prose .sfb-contact__icon--tg,
.ag-editorial .sfb-contact__icon--tg { background: var(--sfbx-acc-bg) !important; color: var(--sfbx-acc) !important; }
.ag-prose .sfb-contact__title,
.ag-editorial .sfb-contact__title { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-contact__sub,
.ag-editorial .sfb-contact__sub { color: var(--sfbx-mut) !important; }

/* .sfb-logos__chip / .sfb-author / .sfb-feat / .sfb-steps li / .sfb-game —
   все с `background:#fff` (sfb-design.css:958, 966, 1023, 1037, 1053). */
.ag-prose .sfb-logos__chip,
.ag-editorial .sfb-logos__chip {
  background: var(--sfbx-bg) !important;
  border-color: var(--sfbx-line) !important;
  color: var(--sfbx-strong) !important;
}

.ag-prose .sfb-author,
.ag-editorial .sfb-author {
  background: var(--sfbx-bg) !important;
  border-color: var(--sfbx-line) !important;
}
/* аватар: во втором стопе градиента зашит синий #1b4f9e */
.ag-prose .sfb-author__avatar,
.ag-editorial .sfb-author__avatar {
  background: linear-gradient(135deg, var(--sfbx-acc), var(--sfbx-acc-dk)) !important;
}
.ag-prose .sfb-author__name,
.ag-editorial .sfb-author__name  { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-author__role,
.ag-editorial .sfb-author__role  { color: var(--sfbx-mut) !important; }
.ag-prose .sfb-author__date,
.ag-editorial .sfb-author__date  { color: var(--sfbx-faint) !important; }
.ag-prose .sfb-author__quote,
.ag-editorial .sfb-author__quote { color: var(--sfbx-tx) !important; border-left-color: var(--sfbx-acc) !important; }

.ag-prose .sfb-feat,
.ag-editorial .sfb-feat {
  background: var(--sfbx-bg) !important;
  border-color: var(--sfbx-line) !important;
}
.ag-prose .sfb-feat__title,
.ag-editorial .sfb-feat__title { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-feat__desc,
.ag-editorial .sfb-feat__desc  { color: var(--sfbx-mut) !important; }
.ag-prose .sfb-steps li,
.ag-editorial .sfb-steps li {
  background: var(--sfbx-bg) !important;
  border-color: var(--sfbx-line) !important;
  color: var(--sfbx-strong) !important;
}
.ag-prose .sfb-steps__n,
.ag-editorial .sfb-steps__n { background: var(--sfbx-acc-bg) !important; color: var(--sfbx-acc) !important; }
.ag-prose .sfb-game,
.ag-editorial .sfb-game {
  background: var(--sfbx-bg) !important;
  border-color: var(--sfbx-line) !important;
}
.ag-prose .sfb-game__title,
.ag-editorial .sfb-game__title { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-game__meta,
.ag-editorial .sfb-game__meta  { color: var(--sfbx-mut) !important; }

/* .sfb-rg: контейнер блок 06 красит, но текст внутри зашит коричневым
   (#5a4413 / #3d2d08, sfb-design.css:654-655). */
.ag-prose .sfb-rg p,
.ag-editorial .sfb-rg p      { color: var(--sfbx-mut) !important; }
.ag-prose .sfb-rg strong,
.ag-editorial .sfb-rg strong { color: var(--sfbx-strong) !important; }

.ag-prose .sfb-cta__note,
.ag-editorial .sfb-cta__note { color: var(--sfbx-faint) !important; }

/* .sfb-bc .sep — chevron зашит #c2cad6; .sfb-stars — пустые звёзды #dfe4ec */
.ag-prose .sfb-bc .sep,
.ag-editorial .sfb-bc .sep { color: var(--sfbx-faint) !important; }
.ag-prose .sfb-bc [aria-current="page"],
.ag-editorial .sfb-bc [aria-current="page"] { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-stars,
.ag-editorial .sfb-stars { color: var(--sfbx-line) !important; }
.ag-prose .sfb-rating__num,
.ag-editorial .sfb-rating__num { color: var(--sfbx-strong) !important; }
.ag-prose .sfb-rating__max,
.ag-editorial .sfb-rating__max { color: var(--sfbx-mut) !important; }
/* .sfb-card__icon — рамка зашита #d4e2fb */
.ag-prose .sfb-card__icon,
.ag-editorial .sfb-card__icon {
  background: var(--sfbx-acc-bg) !important;
  border-color: var(--sfbx-acc-dk) !important;
  color: var(--sfbx-acc) !important;
}

/* =============================================================================
   09 · КАТАЛОГ ОПЕРАТОРОВ (ag-brands) — витрина вместо колонки текста
   -----------------------------------------------------------------------------
   Ключевой блок этой темы: он и отличает агрегатор от статейника. Карточка —
   крупная кликабельная плитка (вся строка — ссылка), а не пункт списка: цель
   ~72px по высоте, лишку выше рекомендованных 44px для тача.
   ============================================================================= */
.ag-brands-sec { padding-top: 26px; }
.ag-brands {
  /* ⛔ НЕ grid. При сетке последняя строка не заполняется: на 5 операторов и 4
     колонках пятая карточка висела одна, справа — пустота («выглядит
     недоделкой»). Флекс с flex-grow растягивает остаток строки по её карточкам,
     сколько бы операторов ни было у домена. */
  list-style: none; margin: 18px 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 14px;
}
.ag-brand { margin: 0; flex: 1 1 250px; }
.ag-brand__a {
  display: flex; align-items: center; gap: 14px; min-height: 72px;
  padding: 14px 16px; text-decoration: none;
  background: var(--ag-surface); border: 1px solid var(--ag-line);
  border-radius: var(--ag-r); box-shadow: var(--sh-card);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.ag-brand__a:hover, .ag-brand__a:focus-visible {
  transform: translateY(-2px); border-color: var(--ag-accent);
  box-shadow: var(--sh-panel); text-decoration: none;
}
/* монограмма: фиолет→оранжевый, тот же градиент, что в знаке бренда */
.ag-brand__mark {
  flex: none; width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--ag-accent), var(--ag-cta));
  color: #fff; font-family: var(--font-head); font-weight: 800; font-size: 19px;
  text-transform: uppercase;
}
.ag-brand__body { display: flex; flex-direction: column; min-width: 0; }
.ag-brand__name {
  font-family: var(--font-head); font-weight: 800; font-size: 16.5px;
  color: var(--ag-ink); line-height: 1.2;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ag-brand__sub { font-size: 12.5px; color: var(--ag-faint); margin-top: 3px; }
.ag-brand__go {
  margin-left: auto; flex: none; font-size: 12.5px; font-weight: 700;
  color: var(--ag-accent); white-space: nowrap;
}
.ag-brand__a:hover .ag-brand__go { color: var(--ag-cta-ink); }

@media (max-width: 560px) {
  .ag-brands { grid-template-columns: 1fr; }
}

/* =============================================================================
   10 · ОФЕРТЫ: таблица сравнения (морда) + карточка (детальная)
   -----------------------------------------------------------------------------
   Ядро агрегатора. Данные приходят из pseo_bonuses через front-matter, состав
   колонок выбран по заполненности (замер 144 строк): размер и превъртане —
   колонки, срок/код/мин.депозит — чипы (есть у четверти оферт).
   ============================================================================= */
.ag-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.ag-na { color: var(--ag-faint); }

/* ⛔ КОЛОНКИ РАЗЪЕЗЖАЛИСЬ. Раньше сеткой был КАЖДЫЙ .ag-tr по отдельности, и
   значения fr/auto считались внутри своей строки: где контент длиннее — колонка
   шире, где короче — уже. Шапка не совпадала со строками, строки между собой
   тоже. Теперь сетка ОДНА на всю таблицу (.ag-tbl), а строки объявлены
   display:contents — их ячейки становятся прямыми детьми общей сетки, и все
   колонки выравниваются по одному расчёту. Границы строк рисуем по ячейкам,
   потому что contents-элемент сам ничего не рисует. */
.ag-tbl { margin-top: 16px; border: 1px solid var(--ag-line); border-radius: var(--ag-r-lg);
          overflow: hidden; background: var(--ag-surface); box-shadow: var(--sh-card);
          display: grid; grid-template-columns: minmax(180px,1.6fr) minmax(140px,1.3fr) minmax(92px,.6fr) minmax(140px,1.1fr) minmax(88px,.7fr) max-content; }

/* Колонка «реален оборот»: число несёт смысл, подпись под ним — вторична.
   Ячейка выстроена колонкой, поэтому flex-выравнивание строки здесь переопределяем. */
.ag-tbl > .ag-tr > .ag-td--turn { flex-direction: column; align-items: flex-start; gap: 2px;
                                  justify-content: center; }
.ag-turn__sub { font-size: 11.5px; color: var(--ag-muted); line-height: 1.35; }

/* Сортировка над таблицей: три кнопки, активная подсвечена. */
.ag-sort { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.ag-sort__lbl { font-size: 12px; color: var(--ag-muted); }
.ag-sort__btn { font: inherit; font-size: 12.5px; cursor: pointer; padding: 6px 12px;
                border-radius: 999px; border: 1px solid var(--ag-line);
                background: transparent; color: var(--ag-text); }
.ag-sort__btn:hover { border-color: var(--ag-accent); }
.ag-sort__btn[aria-pressed="true"] { background: var(--ag-panel); border-color: var(--ag-accent);
                                     color: var(--ag-accent); }
.ag-tr { display: contents; }
/* ⛔ align-self:center ЛОМАЛ ЛИНЕЙКИ. Ячейка при этом сжимается по своему
   содержимому и центрируется в строке, а border-top рисуется по верху сжатой
   коробки — разделители выходили ступеньками на разной высоте. Ячейка должна
   ТЯНУТЬСЯ на всю строку (растяжение по умолчанию), а содержимое центрируем
   уже внутри неё флексом. */
.ag-tbl > .ag-tr > * { padding: 13px 10px; border-top: 1px solid var(--ag-line);
                       display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
/* CTA в строках: гасим оранжевое свечение — пять кнопок подряд давали светлую
   полосу вдоль правого края таблицы. */
.ag-tbl .ag-btn { box-shadow: none; }
.ag-tbl > .ag-tr > *:first-child { padding-left: 18px; }
.ag-tbl > .ag-tr > *:last-child  { padding-right: 18px; }
.ag-tbl > .ag-tr--h > * { border-top: 0; }
.ag-tbl > .ag-tr--h > * { background: var(--ag-panel); font-size: 11.5px; font-weight: 700;
            text-transform: uppercase; letter-spacing: .04em; color: var(--ag-faint); padding-top: 11px; padding-bottom: 11px; }

.ag-td--name { display: flex; align-items: center; gap: 11px; min-width: 0; }
.ag-td__nm { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ag-td__nm a { color: var(--ag-ink); font-family: var(--font-head); font-weight: 800;
               font-size: 15.5px; text-decoration: none; }
.ag-td__nm a:hover { color: var(--ag-accent); }
.ag-td--size b { font-family: var(--font-head); font-size: 15px; color: var(--ag-ink); }
.ag-td--chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ag-mark { flex: none; width: 38px; height: 38px; border-radius: 11px; display: grid;
           place-items: center; color: #fff; font-family: var(--font-head); font-weight: 800;
           font-size: 16px; text-transform: uppercase;
           background: linear-gradient(135deg, var(--ag-accent), var(--ag-cta)); }
.ag-tbl__upd { margin: 10px 2px 0; font-size: 12.5px; color: var(--ag-faint); }

.ag-chip { display: inline-block; padding: 4px 9px; border-radius: 999px; font-size: 12px;
           background: var(--ag-panel); color: var(--ag-dim); border: 1px solid var(--ag-line); }
.ag-chip--code { background: var(--ag-accent-sf); color: var(--ag-accent-dk);
                 border-color: #3C3160; font-family: var(--font-mono); font-weight: 700; }
.ag-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; padding: 0; }

.ag-tag { display: inline-block; padding: 3px 9px; border-radius: 999px;
          font-size: 11.5px; font-weight: 700; }
.ag-tag--on  { background: var(--ag-mint-sf); color: var(--ag-mint); }

.ag-btn--sm { padding: 8px 14px; font-size: 13px; }
.ag-btn--cta { background: var(--ag-cta); color: #fff; box-shadow: var(--sh-cta); }
.ag-btn--ghost { background: transparent; border: 1px solid var(--ag-line); color: var(--ag-ink); }

/* карточка оферты на детальной */
.ag-oc { background: var(--ag-surface); border: 1px solid var(--ag-line);
         border-radius: var(--ag-r-lg); box-shadow: var(--sh-card);
         padding: 22px 24px; margin: 0 0 26px; }
.ag-oc__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.ag-oc__eyebrow { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase;
                  color: var(--ag-accent); font-weight: 700; }
.ag-oc__h { font-family: var(--font-head); font-size: 25px; font-weight: 800;
            color: var(--ag-ink); margin: 5px 0 0; }
.ag-oc__num { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.ag-oc__cell { flex: 1 1 190px; background: var(--ag-panel); border: 1px solid var(--ag-line);
               border-radius: var(--ag-r); padding: 13px 15px; }
/* У части оферт известен только размер (превъртане в источнике нет) — тогда
   единственная плашка растягивалась во всю карточку и «5,11 лв.» болталось в
   пустом прямоугольнике. Одиночную ограничиваем по ширине. */
.ag-oc__cell:only-child { flex: 0 1 360px; }
.ag-oc__k { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em;
            color: var(--ag-faint); font-weight: 700; }
.ag-oc__v { display: block; margin-top: 5px; font-family: var(--font-head);
            font-size: 19px; font-weight: 800; color: var(--ag-ink); line-height: 1.2; }
.ag-oc__v--hero { font-size: 23px; color: var(--ag-cta-ink); }
.ag-oc__code { display: flex; align-items: center; gap: 10px; margin-top: 14px; }
.ag-code { font-family: var(--font-mono); font-weight: 700; font-size: 15px;
           background: var(--ag-accent-sf); color: var(--ag-accent-dk);
           border: 1px dashed #4A3D77; border-radius: 9px; padding: 7px 13px; }
.ag-oc .ag-btn--cta { display: inline-block; margin-top: 16px; }
.ag-oc__meta { display: grid; grid-template-columns: auto 1fr; gap: 5px 14px;
               margin: 18px 0 0; font-size: 13px; }
.ag-oc__meta dt { color: var(--ag-faint); }
.ag-oc__meta dd { margin: 0; color: var(--ag-dim); }
.ag-oc__notes { margin: 12px 0 0; font-size: 12.5px; color: var(--ag-faint); line-height: 1.6; }

/* ≤900px: строка таблицы разворачивается в карточку, подписи из data-label */
@media (max-width: 900px) {
  .ag-tbl { display: block; }
  .ag-tr { display: grid; grid-template-columns: 1fr; gap: 8px; padding: 16px 16px;
           border-top: 1px solid var(--ag-line); }
  /* ⛔ ПОСЛЕ .ag-tr и СЕЛЕКТОРОМ ПОСПЕЦИФИЧНЕЕ: у шапки оба класса (.ag-tr и
     .ag-tr--h), вес одинаковый, и правило .ag-tr{display:grid} перебивало
     display:none — на мобильном шапка выводилась столбиком над карточками. */
  .ag-tbl > .ag-tr--h { display: none; }
  .ag-tbl > .ag-tr > *,
  .ag-tbl > .ag-tr > *:first-child,
  .ag-tbl > .ag-tr > *:last-child { padding: 0; border-top: 0; }
  .ag-td:not(.ag-td--name):not(.ag-td--go)::before {
    content: attr(data-label) ": "; color: var(--ag-faint); font-size: 12px; margin-right: 6px;
  }
  .ag-td--go { justify-self: start; }
}

/* ── Месяц в H1: тот же кегль, но приглушён — это метка свежести, а не часть
   названия страницы. ─────────────────────────────────────────────────────── */
.ag-h1__mon { color: var(--ag-muted); font-weight: 500; white-space: nowrap; }

/* ── Блок «как проверяваме условията» (методология). Три числа + примечание.
   Числа считаются по данным домена, поэтому блок не бывает пустым по частям. */
.ag-method__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
                   gap: 14px; margin-top: 18px; }
.ag-method__it { background: var(--ag-panel); border: 1px solid var(--ag-line);
                 border-radius: var(--ag-r-lg); padding: 16px 18px; }
.ag-method__it b { display: block; font-size: 22px; line-height: 1.2; color: var(--ag-ink); }
.ag-method__it span { display: block; margin-top: 4px; font-size: 12.5px; color: var(--ag-muted);
                      line-height: 1.45; }
.ag-method__note { margin: 16px 0 0; font-size: 13px; color: var(--ag-dim); line-height: 1.7;
                   max-width: 78ch; }

/* ── Пункт меню «Казина» (details) ─────────────────────────────────────────
   Отдельная механика от .ag-cat/.ag-drop намеренно: та держится на :hover и на
   доехавшем css, а этот пункт обязан быть закрыт даже когда стили взяты из
   кэша. <details> закрывает содержимое средствами браузера. */
.ag-cs { position: relative; }
.ag-cs__t { list-style: none; cursor: pointer; display: inline-flex; align-items: center;
            gap: 7px; color: var(--ag-text); font-size: 14px; }
.ag-cs__t::-webkit-details-marker { display: none; }
.ag-cs__t::after { content: "▾"; font-size: 11px; color: var(--ag-muted); }
.ag-cs[open] .ag-cs__t::after { content: "▴"; }
.ag-cs__t:hover { color: var(--ag-accent); }
.ag-cs__n { font-size: 11px; padding: 1px 7px; border-radius: 999px;
            background: var(--ag-accent-sf); color: var(--ag-accent-dk); }
.ag-cs__l { position: absolute; top: calc(100% + 12px); right: 0; z-index: 60;
            min-width: 250px; max-height: 70vh; overflow-y: auto;
            background: var(--ag-surface); border: 1px solid var(--ag-line);
            border-radius: var(--ag-r-lg); box-shadow: var(--sh-card); padding: 8px; }
.ag-cs__l a { display: block; padding: 8px 11px; border-radius: 8px; font-size: 14px;
              color: var(--ag-text); white-space: nowrap; }
.ag-cs__l a:hover { background: var(--ag-panel); color: var(--ag-accent); text-decoration: none; }
.ag-cs--mega .ag-cs__l { min-width: min(720px, 92vw); columns: 3; column-gap: 16px; padding: 12px; }
.ag-cs--mega .ag-cs__l a { break-inside: avoid; }

@media (max-width: 760px) {
  .ag-cs { width: 100%; }
  .ag-cs__t { width: 100%; justify-content: space-between; padding: 11px 0; }
  .ag-cs__l, .ag-cs--mega .ag-cs__l { position: static; border: 0; box-shadow: none;
              min-width: 0; columns: 1; padding: 0 0 8px; max-height: none; }
}
