/* =============================================================================
   SHUFFLE BG — brand skin для форка gmb-univ-multi-v2-shuffle
   -----------------------------------------------------------------------------
   Подключается ПОСЛЕ /css/sfb-design.css (см. partials/head-additions.html).

   Палитра — plum/violet + mint (взято из открытых цветов ранжирующихся
   Shuffle-EMD и официального shuffle.com: near-black #080808, violet #7717FF /
   #886CFF, green #3DD179). Цвета и шрифты юридически чисты; чужая графика,
   вордмарк и скриншоты НЕ копируются.

   Анти-футпринт: намеренно НЕ navy+cyan (mrbit), НЕ Space Grotesk / Manrope /
   Lato / Open Sans (ими набраны и база, и клоны-аффилиаты). Здесь —
   Geologica (заголовки) + Onest (текст), namespace .shf-*.

   Метафора раскладки — «разбъркано тесте»: веер карт, cut-линия, ръце по масти,
   стъпала на касата.

   SECTION MAP
     00  Токены :root (перекрывают базовые sfb-токены → красит и внутренние)
     01  Каркас (.shf, .shf-w, кнопки, заголовки)
     02  Хедер + zero-JS мобильное меню (≤720px)
     03  Морда: deal(веер) · facts · cut(промо-код) · hands · games · cashier
     04  Editorial · YMYL · FAQ · футер
     05  Внутренние (.shf-page: artboard + ЛЕВЫЙ sticky рельс + проза)
     06  Перекраска inline pipeline-блоков .sfb-* внутри .shf-prose
     07  Адаптив
   ============================================================================= */

/* =============================================================================
   00 · ТОКЕНЫ
   ============================================================================= */
:root {
  /* фирменные */
  --shf-void:   #0C0714;   /* фон страницы (plum-black)            */
  --shf-deep:   #150C22;   /* панели                               */
  --shf-panel:  #1D1130;   /* приподнятая поверхность              */
  --shf-raise:  #261741;   /* карточка поверх панели               */
  --shf-line:   #33204F;   /* хайрлайн на тёмном                   */
  --shf-violet: #9B6BFF;   /* акцент-ТЕКСТ на тёмном               */
  --shf-violet-d:#6D3FD6;  /* акцент-фон                           */
  --shf-mint:   #38E08A;   /* CTA-фон (под тёмным текстом)         */
  --shf-mint-t: #5BF0A5;   /* mint как ТЕКСТ на тёмном             */
  --shf-gold:   #FFC94D;   /* рейтинг / предупреждение             */
  --shf-text:   #F3EEFF;   /* основной текст                       */
  --shf-dim:    #C3B6DC;   /* вторичный текст                      */
  --shf-faint:  #9C8CBB;   /* подписи (контраст на #0C0714 ≈ 7:1)  */
  --shf-ink:    #0C0714;   /* текст на mint/violet-заливке         */

  /* базовые sfb-токены → бренд (каскадом красит и внутренние страницы) */
  --accent:      #9B6BFF;
  --accent-ink:  #B99BFF;
  --accent-tint: #241539;
  --cta:         #38E08A;
  --cta-ink:     #5BF0A5;
  --success:     #38E08A;
  --success-tint:#0E2A1D;
  --success-bd:  #17553A;
  --warn:        #FFC94D;
  --warn-tint:   #2C2310;
  --danger:      #FF6B6B;

  --ink:         #F3EEFF;
  --body:        #C3B6DC;
  --reading:     #CCC0E4;
  --muted:       #A899C4;
  --muted-2:     #9C8CBB;

  --surface:     #150C22;
  --surface-2:   #1D1130;
  --border:      #33204F;
  --border-soft: #2A1A42;

  --dark:        #0C0714;
  --dark-2:      #090510;
  --dark-hover:  #241539;
  --dark-muted:  #C3B6DC;
  --dark-faint:  #9C8CBB;
  --page-bg:     #0C0714;

  --cream:       #1D1130;
  --cream-2:     #241539;
  --cream-bd:    #3D2760;
  --cream-bd-2:  #33204F;

  --star:        #FFC94D;

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

  --sh-cta:   0 10px 26px rgba(56,224,138,.22);
  --sh-card:  0 20px 48px rgba(0,0,0,.5);
  --sh-offer: 0 12px 32px rgba(155,107,255,.16);
  --sh-panel: 0 28px 64px rgba(0,0,0,.62);
  --sh-dark:  0 10px 26px rgba(0,0,0,.5);

  --shf-r:    10px;
  --shf-r-lg: 18px;
  --shf-card-r: 14px;   /* скругление «карт» */
}

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

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

.shf h1, .shf h2, .shf h3, .shf h4 {
  font-family: var(--font-head); color: var(--shf-text);
  letter-spacing: -.015em; margin: 0; font-weight: 700;
}

.shf-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  background: var(--shf-mint); color: var(--shf-ink);
  font-family: var(--font-head); font-weight: 700; font-size: 15px;
  padding: 14px 26px; border-radius: var(--shf-r); text-decoration: none; border: 0;
  box-shadow: var(--sh-cta); line-height: 1.15; white-space: nowrap;
  transition: transform .14s ease, filter .14s ease;
}
.shf-btn:hover { filter: brightness(1.07); transform: translateY(-1px); text-decoration: none; color: var(--shf-ink); }
.shf-btn.sm { padding: 10px 17px; font-size: 13.5px; border-radius: 8px; }
.shf-btn.lg { padding: 17px 32px; font-size: 16.5px; }
.shf-btn.ghost {
  background: transparent; color: var(--shf-violet); box-shadow: none;
  border: 1.5px solid var(--shf-line);
}
.shf-btn.ghost:hover { border-color: var(--shf-violet); color: var(--shf-violet); background: rgba(155,107,255,.08); }

.shf-eyebrow {
  font-family: var(--font-mono); font-size: 11.5px; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase; color: var(--shf-violet);
  display: flex; align-items: center; gap: 10px; margin-bottom: 12px;
}
.shf-eyebrow::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--shf-line), transparent); }

.shf-h2 { font-size: clamp(25px, 3vw, 35px); line-height: 1.14; margin-bottom: 12px; }
.shf-intro { color: var(--shf-dim); font-size: 16px; line-height: 1.65; max-width: 74ch; margin: 0 0 26px; }

.shf-sec { padding: 58px 0; }
.shf-sec.tint { background: var(--shf-deep); border-block: 1px solid var(--shf-line); }

/* =============================================================================
   02 · ХЕДЕР + ZERO-JS МОБИЛЬНОЕ МЕНЮ
   ============================================================================= */
.shf-top {
  position: sticky; top: 0; z-index: 60;
  background: rgba(12,7,20,.95);
  backdrop-filter: saturate(1.35) blur(10px);
  border-bottom: 1px solid var(--shf-line);
}
.shf-top .shf-w { display: flex; align-items: center; gap: 18px; min-height: 74px; }
.shf-logo { height: 44px; width: auto; display: block; flex: none; }

.shf-nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.shf-nav > a, .shf-cat > .shf-cat-t {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--shf-dim); font-size: 14.5px; font-weight: 600; text-decoration: none;
  padding: 9px 12px; border-radius: 8px; cursor: pointer; white-space: nowrap;
}
.shf-nav > a:hover, .shf-cat:hover > .shf-cat-t { color: var(--shf-text); background: var(--shf-panel); text-decoration: none; }
.shf-cat { position: relative; }
.shf-cat > .shf-cat-t em { font-style: normal; font-size: 10px; color: var(--shf-faint); }
.shf-drop {
  position: absolute; top: calc(100% + 8px); left: 0; min-width: 250px;
  background: #1D1130; border: 1px solid var(--shf-line); border-radius: var(--shf-r);
  box-shadow: var(--sh-panel); padding: 8px; display: none; flex-direction: column;
}
.shf-drop.wide { display: none; min-width: 540px; }
.shf-cat:hover .shf-drop { display: flex; }
.shf-cat:hover .shf-drop.wide { display: grid; grid-template-columns: 1fr 1fr; max-height: 72vh; overflow: auto; }
.shf-drop a { color: var(--shf-dim); font-size: 14px; text-decoration: none; padding: 9px 12px; border-radius: 7px; }
.shf-drop a:hover { background: var(--shf-raise); color: var(--shf-violet); text-decoration: none; }
.shf-top .shf-btn { flex: none; }

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

/* =============================================================================
   03 · МОРДА
   ============================================================================= */

/* ── DEAL: раздача (текст слева, веер из трёх карт справа) ── */
.shf-deal {
  position: relative; overflow: hidden;
  background:
    radial-gradient(900px 420px at 88% -8%, rgba(155,107,255,.20), transparent 62%),
    radial-gradient(700px 380px at 4% 104%, rgba(56,224,138,.10), transparent 60%),
    var(--shf-void);
  border-bottom: 1px solid var(--shf-line);
  padding: 56px 0 62px;
}
.shf-deal .shf-w { display: grid; grid-template-columns: 1.15fr .85fr; gap: 46px; align-items: center; }
.shf-kick {
  display: inline-block; font-family: var(--font-mono); font-size: 11.5px; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase; color: var(--shf-mint-t);
  border: 1px solid rgba(56,224,138,.34); border-radius: 999px; padding: 6px 14px; margin-bottom: 18px;
}
.shf-deal h1 { font-size: clamp(31px, 4.4vw, 52px); line-height: 1.06; letter-spacing: -.03em; }
.shf-lead { color: var(--shf-dim); font-size: 17.5px; line-height: 1.62; margin: 18px 0 26px; max-width: 60ch; }
.shf-deal-cta { display: flex; flex-wrap: wrap; gap: 12px; }
.shf-deal-note { margin: 20px 0 0; font-size: 12.5px; color: var(--shf-faint); line-height: 1.6; }

/* веер карт */
.shf-fan { position: relative; height: 340px; }
.shf-card {
  position: absolute; top: 0; width: 168px; min-height: 250px;
  background: linear-gradient(180deg, var(--shf-raise), var(--shf-panel));
  border: 1px solid var(--shf-line); border-radius: var(--shf-card-r);
  box-shadow: var(--sh-card); padding: 18px 16px;
  display: flex; flex-direction: column; gap: 8px;
}
.shf-card .st { font-size: 22px; line-height: 1; color: var(--shf-violet); }
.shf-card .tp { font-size: 12px; color: var(--shf-faint); letter-spacing: .04em; }
.shf-card .vl { font-family: var(--font-head); font-size: 27px; font-weight: 700; color: var(--shf-text); line-height: 1.08; margin-top: auto; }
.shf-card .sb { font-size: 12.5px; color: var(--shf-dim); line-height: 1.45; }
.shf-card:nth-child(1) { left: 0;    transform: rotate(-8deg) translateY(30px); z-index: 3; }
.shf-card:nth-child(2) { left: 34%;  transform: rotate(-1deg) translateY(0);    z-index: 2; }
.shf-card:nth-child(3) { left: 68%;  transform: rotate(8deg)  translateY(32px); z-index: 1;
  border-color: rgba(56,224,138,.42); }
.shf-card:nth-child(3) .st { color: var(--shf-mint-t); }

/* ── FACTS: лента фактов ── */
.shf-facts { background: var(--shf-deep); border-bottom: 1px solid var(--shf-line); }
.shf-facts ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.shf-facts li {
  flex: 1 1 190px; padding: 18px 20px; border-right: 1px solid var(--shf-line);
  display: flex; flex-direction: column; gap: 3px;
}
.shf-facts li:last-child { border-right: 0; }
.shf-facts .k { font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--shf-faint); }
.shf-facts .v { font-family: var(--font-head); font-size: 18px; font-weight: 600; color: var(--shf-text); }

/* ── CUT: полоса промо-кода со спойлером (zero-JS <details>) ── */
.shf-cut {
  background: linear-gradient(90deg, var(--shf-panel), var(--shf-deep));
  border-block: 1px dashed var(--shf-line);
}
.shf-cut .shf-w { display: grid; grid-template-columns: 1fr auto; gap: 26px; align-items: center; padding: 26px 0; }
.shf-cut .ttl { font-family: var(--font-head); font-size: 19px; font-weight: 700; color: var(--shf-text); }
.shf-cut .sub { font-size: 13.5px; color: var(--shf-dim); margin-top: 5px; line-height: 1.55; }

.shf-spoiler {
  border: 1.5px dashed rgba(56,224,138,.5); border-radius: var(--shf-r);
  background: rgba(56,224,138,.06); min-width: 268px;
}
.shf-spoiler > summary {
  list-style: none; cursor: pointer; padding: 15px 20px;
  font-family: var(--font-head); font-weight: 700; font-size: 14.5px; color: var(--shf-mint-t);
  display: flex; align-items: center; gap: 10px; justify-content: center;
}
.shf-spoiler > summary::-webkit-details-marker { display: none; }
.shf-spoiler > summary::before { content: "▦"; font-size: 15px; opacity: .8; }
.shf-spoiler[open] > summary { display: none; }
.shf-spoiler .shf-code {
  display: flex; align-items: stretch; text-decoration: none; overflow: hidden;
  border-radius: calc(var(--shf-r) - 2px);
}
.shf-spoiler .shf-code .v {
  flex: 1; font-family: var(--font-mono); font-size: 18px; font-weight: 700; letter-spacing: .18em;
  color: var(--shf-mint-t); padding: 15px 18px; text-align: center; background: rgba(56,224,138,.08);
}
.shf-spoiler .shf-code .go {
  background: var(--shf-mint); color: var(--shf-ink); font-family: var(--font-head);
  font-weight: 700; font-size: 13.5px; padding: 15px 18px; display: flex; align-items: center;
  white-space: nowrap;
}
.shf-spoiler .shf-code:hover .go { filter: brightness(1.07); }

/* ── HANDS: бонуси по масти, «разбъркана» сетка ── */
.shf-hands { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; align-items: start; }
.shf-hand {
  background: var(--shf-panel); border: 1px solid var(--shf-line);
  border-radius: var(--shf-card-r); padding: 22px 20px 20px;
  display: flex; flex-direction: column; gap: 10px; position: relative;
}
.shf-hand::before {
  content: ""; position: absolute; inset: -1px -1px auto -1px; height: 3px;
  border-radius: var(--shf-card-r) var(--shf-card-r) 0 0;
  background: linear-gradient(90deg, var(--shf-violet-d), var(--shf-mint));
  opacity: .8;
}
.shf-hands .shf-hand:nth-child(even) { transform: translateY(22px); }
.shf-hand .suit { font-size: 26px; line-height: 1; color: var(--shf-violet); }
.shf-hand h3 { font-size: 17px; line-height: 1.25; }
.shf-hand .amt {
  font-family: var(--font-head); font-size: 21px; font-weight: 700; color: var(--shf-mint-t);
  letter-spacing: -.01em;
}
.shf-hand p { margin: 0; font-size: 13.8px; line-height: 1.6; color: var(--shf-dim); }
.shf-hand .tags { display: flex; flex-wrap: wrap; gap: 6px; }
.shf-hand .tags span {
  font-size: 11.5px; color: var(--shf-faint); border: 1px solid var(--shf-line);
  border-radius: 999px; padding: 4px 10px;
}
.shf-hand .shf-btn { margin-top: 6px; align-self: flex-start; }

/* ── GAMES: плитки с диагональю + мерилка волатилност ── */
.shf-games { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.shf-game {
  position: relative; overflow: hidden;
  background:
    linear-gradient(135deg, rgba(155,107,255,.14) 0 42%, transparent 42%),
    var(--shf-deep);
  border: 1px solid var(--shf-line); border-radius: var(--shf-card-r); padding: 20px;
}
.shf-game h3 { font-size: 17.5px; margin-bottom: 6px; }
.shf-game .meta { font-family: var(--font-mono); font-size: 11.5px; color: var(--shf-violet); letter-spacing: .04em; }
.shf-game p { margin: 10px 0 14px; font-size: 13.8px; line-height: 1.6; color: var(--shf-dim); }
.shf-vol { display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: var(--shf-faint); }
.shf-vol i { display: flex; gap: 4px; }
.shf-vol b { display: block; width: 16px; height: 5px; border-radius: 2px; background: var(--shf-line); }
.shf-vol b.on { background: var(--shf-mint); }

/* ── CASHIER: стъпала (лестница), не таблица ── */
.shf-steps { display: grid; gap: 0; border-left: 2px solid var(--shf-line); margin-left: 8px; }
.shf-step { position: relative; padding: 0 0 26px 30px; }
.shf-step:last-child { padding-bottom: 0; }
.shf-step::before {
  content: ""; position: absolute; left: -9px; top: 4px; width: 16px; height: 16px;
  border-radius: 4px; background: var(--shf-panel); border: 2px solid var(--shf-violet);
  transform: rotate(45deg);
}
.shf-step .hd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; }
.shf-step h3 { font-size: 17px; }
.shf-step .dur {
  font-family: var(--font-mono); font-size: 11.5px; color: var(--shf-mint-t);
  border: 1px solid rgba(56,224,138,.3); border-radius: 999px; padding: 3px 10px;
}
.shf-step .m { font-size: 13px; color: var(--shf-violet); margin: 6px 0 4px; }
.shf-step p { margin: 0; font-size: 13.8px; line-height: 1.6; color: var(--shf-dim); }

.shf-cashgrid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 38px; align-items: start; }
.shf-trust { display: grid; gap: 12px; }
.shf-tr {
  display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start;
  background: var(--shf-panel); border: 1px solid var(--shf-line);
  border-radius: var(--shf-r); padding: 15px 17px;
}
.shf-tr i {
  font-style: normal; width: 24px; height: 24px; border-radius: 6px; flex: none;
  background: rgba(56,224,138,.14); color: var(--shf-mint-t);
  display: flex; align-items: center; justify-content: center; font-size: 13px;
}
.shf-tr b { display: block; font-family: var(--font-head); font-size: 14.5px; color: var(--shf-text); }
.shf-tr small { display: block; font-size: 13px; line-height: 1.55; color: var(--shf-dim); margin-top: 3px; }

/* =============================================================================
   04 · EDITORIAL · YMYL · FAQ · ФУТЕР
   ============================================================================= */
.shf-prose { color: var(--reading); font-size: 16.5px; line-height: 1.75; max-width: 76ch; }
.shf-prose > *:first-child { margin-top: 0; }
.shf-prose h2 {
  font-family: var(--font-head); font-size: clamp(22px, 2.5vw, 29px); line-height: 1.2;
  color: var(--shf-text); margin: 40px 0 14px; padding-left: 16px;
  border-left: 3px solid var(--shf-violet-d);
}
.shf-prose h3 { font-family: var(--font-head); font-size: 20px; color: var(--shf-text); margin: 28px 0 10px; }
.shf-prose p { margin: 0 0 16px; }
.shf-prose a { color: var(--shf-violet); text-decoration: underline; text-underline-offset: 3px; }
.shf-prose a:hover { color: var(--shf-mint-t); }
.shf-prose ul, .shf-prose ol { margin: 0 0 18px; padding-left: 22px; }
.shf-prose li { margin-bottom: 8px; }
.shf-prose blockquote {
  margin: 22px 0; padding: 16px 20px; border-left: 3px solid var(--shf-mint);
  background: var(--shf-deep); border-radius: 0 var(--shf-r) var(--shf-r) 0; color: var(--shf-dim);
}
.shf-prose table {
  width: 100%; border-collapse: collapse; margin: 22px 0; font-size: 14.5px;
  background: var(--shf-deep); border: 1px solid var(--shf-line); border-radius: var(--shf-r); overflow: hidden;
}
.shf-prose th {
  background: rgba(155,107,255,.14); color: var(--shf-violet); font-family: var(--font-head);
  text-align: left; padding: 11px 14px; font-size: 13.5px; letter-spacing: .02em;
}
.shf-prose td { padding: 11px 14px; border-top: 1px solid var(--shf-line); color: var(--shf-dim); }

/* YMYL */
.shf-ymyl {
  background: linear-gradient(180deg, rgba(255,201,77,.07), transparent), var(--shf-panel);
  border: 1px solid rgba(255,201,77,.28); border-radius: var(--shf-r-lg); padding: 26px 28px;
}
.shf-ymyl h3 { font-size: 21px; display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.b18 {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 40px; height: 26px; border-radius: 6px; background: var(--shf-gold); color: #23180B;
  font-family: var(--font-head); font-weight: 700; font-size: 13px;
}
.shf-ymyl p { color: var(--shf-dim); font-size: 14.5px; line-height: 1.68; margin: 0 0 16px; }
.shf-ymyl .tools { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.shf-ymyl .tool { background: var(--shf-deep); border: 1px solid var(--shf-line); border-radius: var(--shf-r); padding: 13px 15px; }
.shf-ymyl .tool b { display: block; font-family: var(--font-head); font-size: 14px; color: var(--shf-text); }
.shf-ymyl .tool span { display: block; font-size: 12.5px; color: var(--shf-faint); line-height: 1.5; margin-top: 3px; }
.shf-ymyl .help { font-size: 13.5px; color: var(--shf-dim); margin: 0; }
.shf-ymyl .help a { color: var(--shf-mint-t); }

/* FAQ — карты с мастью */
.shf-faq { display: grid; gap: 10px; }
.shf-faq details {
  background: var(--shf-panel); border: 1px solid var(--shf-line);
  border-radius: var(--shf-r); overflow: hidden;
}
.shf-faq summary {
  cursor: pointer; list-style: none; padding: 16px 20px 16px 46px; position: relative;
  font-family: var(--font-head); font-weight: 600; font-size: 15.5px; color: var(--shf-text);
}
.shf-faq summary::-webkit-details-marker { display: none; }
.shf-faq summary::before {
  content: "♠"; position: absolute; left: 20px; top: 15px; color: var(--shf-violet); font-size: 15px;
}
.shf-faq details[open] summary::before { content: "♦"; color: var(--shf-mint-t); }
.shf-faq p { margin: 0; padding: 0 20px 18px 46px; font-size: 14.5px; line-height: 1.68; color: var(--shf-dim); }

/* футер */
.shf-agebar { background: var(--shf-deep); border-top: 1px solid var(--shf-line); }
.shf-agebar .shf-w { display: flex; gap: 14px; align-items: flex-start; padding: 18px 0; font-size: 13px; color: var(--shf-dim); line-height: 1.6; }
.shf-agebar a { color: var(--shf-mint-t); }

.shf-foot { background: var(--shf-void); border-top: 1px solid var(--shf-line); padding: 40px 0 34px; }
.shf-foot .cols { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 34px; }
.shf-foot .logo { height: 44px; width: auto; display: block; margin-bottom: 14px; }
.shf-foot p { font-size: 13.5px; line-height: 1.62; color: var(--shf-faint); margin: 0; }
.shf-foot .fh {
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--shf-violet); margin-bottom: 12px;
}
.shf-foot a { display: block; color: var(--shf-dim); font-size: 13.8px; text-decoration: none; padding: 5px 0; }
.shf-foot a:hover { color: var(--shf-mint-t); text-decoration: none; }
.shf-foot .fine {
  margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--shf-line);
  font-size: 12.3px; line-height: 1.65; color: var(--shf-faint);
}

/* =============================================================================
   05 · ВНУТРЕННИЕ СТРАНИЦЫ (.shf-page)
   Скелет намеренно другой: artboard-шапка с боковой полосой + ЛЕВЫЙ sticky
   рельс (нумерованное съдържание + бонус-карта) + проза справа.
   Базовых .page-wrap / .reading / .rail / .hero / .zone-* / .sfb-bc здесь НЕТ.
   ============================================================================= */
.shf-page { padding-bottom: 20px; }

.shf-artboard {
  background:
    radial-gradient(760px 340px at 12% -20%, rgba(155,107,255,.20), transparent 62%),
    var(--shf-deep);
  border-bottom: 1px solid var(--shf-line); padding: 34px 0 32px;
}
.shf-artboard .in { border-left: 3px solid var(--shf-violet-d); padding-left: 22px; }
.shf-crumbs { font-size: 12.5px; color: var(--shf-faint); margin-bottom: 14px; }
.shf-crumbs a { color: var(--shf-dim); text-decoration: none; }
.shf-crumbs a:hover { color: var(--shf-violet); }
.shf-crumbs .sep { margin: 0 7px; opacity: .5; }
.shf-crumbs .cur { color: var(--shf-violet); }

.shf-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.shf-chip {
  font-size: 11.8px; color: var(--shf-dim); border: 1px solid var(--shf-line);
  border-radius: 999px; padding: 5px 12px; background: var(--shf-panel);
}
.shf-chip.ok { color: var(--shf-mint-t); border-color: rgba(56,224,138,.34); }
.shf-chip.age { color: var(--shf-gold); border-color: rgba(255,201,77,.34); }

.shf-artboard h1 { font-size: clamp(27px, 3.6vw, 42px); line-height: 1.1; letter-spacing: -.025em; }
.shf-artlead { color: var(--shf-dim); font-size: 17px; line-height: 1.62; margin: 14px 0 0; max-width: 68ch; }
.shf-artmeta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 20px; }
.shf-by { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; color: var(--shf-faint); }
.shf-by .av {
  width: 28px; height: 28px; border-radius: 8px; background: var(--shf-violet-d); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-head); font-weight: 700; font-size: 13px;
}
.shf-by b { color: var(--shf-dim); font-weight: 600; }

/* двухколоночный документ: рельс СЛЕВА */
.shf-doc { display: grid; grid-template-columns: 288px minmax(0, 1fr); gap: 40px; padding: 34px 0 10px; align-items: start; }
.shf-rail { position: sticky; top: 92px; display: grid; gap: 16px; }

.shf-toc { background: var(--shf-panel); border: 1px solid var(--shf-line); border-radius: var(--shf-card-r); padding: 18px 18px 14px; }
.shf-toc .hd {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--shf-violet); margin-bottom: 12px;
}
.shf-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: shftoc; max-height: 46vh; overflow: auto; }
.shf-toc li { counter-increment: shftoc; }
.shf-toc a {
  display: grid; grid-template-columns: 26px 1fr; gap: 8px; align-items: baseline;
  color: var(--shf-dim); text-decoration: none; font-size: 13.6px; line-height: 1.45; padding: 7px 0;
  border-top: 1px solid var(--shf-line);
}
.shf-toc li:first-child a { border-top: 0; }
.shf-toc a::before {
  content: counter(shftoc, decimal-leading-zero);
  font-family: var(--font-mono); font-size: 11px; color: var(--shf-faint);
}
.shf-toc a:hover { color: var(--shf-mint-t); text-decoration: none; }

.shf-railbonus {
  background: linear-gradient(180deg, var(--shf-raise), var(--shf-panel));
  border: 1px solid var(--shf-line); border-radius: var(--shf-card-r); padding: 18px;
}
.shf-railbonus .k {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--shf-violet); margin-bottom: 8px;
}
.shf-railbonus .t { font-family: var(--font-head); font-size: 17px; font-weight: 700; color: var(--shf-text); line-height: 1.25; }
.shf-railbonus .m { font-size: 12.3px; color: var(--shf-faint); line-height: 1.55; margin: 8px 0 14px; }
.shf-railbonus .shf-btn { width: 100%; }
.shf-railbonus .shf-spoiler { min-width: 0; margin-bottom: 12px; }
.shf-railbonus .shf-spoiler .shf-code .v { font-size: 15px; padding: 12px 10px; letter-spacing: .14em; }
.shf-railbonus .shf-spoiler .shf-code .go { font-size: 12px; padding: 12px 12px; }
.shf-railbonus .shf-spoiler > summary { padding: 12px 14px; font-size: 13.5px; }

.shf-main { min-width: 0; }

/* pipeline main-N блоки */
.shf-block { margin: 26px 0; padding: 20px 22px; background: var(--shf-deep); border: 1px solid var(--shf-line); border-radius: var(--shf-card-r); }
.shf-block-cta { margin-top: 14px; }

.shf-rgline {
  display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start;
  margin: 32px 0 0; padding: 18px 20px;
  background: var(--shf-panel); border: 1px solid rgba(255,201,77,.28); border-radius: var(--shf-r);
}
.shf-rgline p { margin: 0; font-size: 13.6px; line-height: 1.65; color: var(--shf-dim); }
.shf-rgline a { color: var(--shf-mint-t); }

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

.shf-more { margin-top: 30px; }
.shf-more .hd {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--shf-violet); margin-bottom: 12px;
}
.shf-more .grid { display: flex; flex-wrap: wrap; gap: 10px; }
.shf-more a {
  display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
  background: var(--shf-panel); border: 1px solid var(--shf-line); border-radius: 999px;
  padding: 9px 16px; font-size: 13.5px; color: var(--shf-dim);
}
.shf-more a:hover { border-color: var(--shf-violet); color: var(--shf-text); text-decoration: none; }

/* =============================================================================
   06 · INLINE PIPELINE-БЛОКИ .sfb-* внутри .shf-prose
   (их вставляет генератор в .Content; базовый sfb-design.css красит их светло)
   ============================================================================= */
.shf-prose .sfb-cta, .shf-prose .sfb-card, .shf-prose .sfb-slot,
.shf-prose .sfb-table, .shf-prose .sfb-faq, .shf-prose .sfb-rg,
.shf-prose .sfb-bonus, .shf-prose .sfb-toc {
  background: var(--shf-panel) !important;
  border-color: var(--shf-line) !important;
  color: var(--shf-dim) !important;
  border-radius: var(--shf-card-r) !important;
}
.shf-prose .sfb-slots { background: transparent !important; }
.shf-prose .sfb-cta a, .shf-prose .sfb-slot a.button, .shf-prose .sfb-bonus a.button,
.shf-prose .sfb-cta a.button {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--shf-mint) !important; color: var(--shf-ink) !important;
  border: 0 !important; border-radius: var(--shf-r) !important;
  padding: 13px 24px !important; font-family: var(--font-head);
  font-weight: 700 !important; text-decoration: none !important;
  box-shadow: var(--sh-cta);
}
.shf-prose .sfb-faq summary, .shf-prose .sfb-card h3, .shf-prose .sfb-slot h3 { color: var(--shf-text) !important; }
.shf-prose .sfb-table th { background: rgba(155,107,255,.14) !important; color: var(--shf-violet) !important; }
.shf-prose .sfb-table td { color: var(--shf-dim) !important; border-color: var(--shf-line) !important; }
.shf-prose .sfb-rg { border-color: rgba(255,201,77,.28) !important; }

/* =============================================================================
   07 · АДАПТИВ
   ============================================================================= */
@media (max-width: 1080px) {
  .shf-deal .shf-w { grid-template-columns: 1fr; gap: 34px; }
  .shf-fan { height: 300px; max-width: 480px; }
  .shf-hands { grid-template-columns: repeat(2, 1fr); }
  .shf-games { grid-template-columns: repeat(2, 1fr); }
  .shf-cashgrid { grid-template-columns: 1fr; gap: 28px; }
  .shf-doc { grid-template-columns: 1fr; gap: 26px; }
  .shf-rail { position: static; order: 2; }
  .shf-main { order: 1; }
  .shf-ymyl .tools { grid-template-columns: repeat(2, 1fr); }
  .shf-foot .cols { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .shf-w { width: min(1180px, 100% - 28px); }

  /* мобильное меню: панель НЕПРОЗРАЧНАЯ (#150C22), открывается чекбоксом */
  /* первая строка: лого · CTA · бургер; меню — второй строкой на всю ширину */
  .shf-burger-l { display: flex; order: 3; margin-left: 0; width: 42px; height: 42px; }
  .shf-top .shf-w { flex-wrap: wrap; gap: 8px; min-height: 62px; padding-block: 9px; }
  .shf-top .shf-logo { height: 34px; }
  .shf-top .shf-btn { order: 2; margin-left: auto; padding: 9px 14px; font-size: 13px; }
  .shf-nav {
    display: none; order: 4; width: 100%; flex-direction: column; align-items: stretch;
    gap: 0; margin: 0 0 12px; background: #150C22; border: 1px solid var(--shf-line);
    border-radius: var(--shf-card-r); padding: 8px; max-height: 70vh; overflow: auto;
  }
  .shf-burger:checked ~ .shf-nav { display: flex; }
  .shf-nav > a, .shf-cat > .shf-cat-t { width: 100%; padding: 12px 14px; font-size: 15px; }
  .shf-cat { width: 100%; }
  .shf-drop, .shf-drop.wide {
    position: static; display: flex !important; grid-template-columns: 1fr !important;
    box-shadow: none; border: 0; border-left: 2px solid var(--shf-line);
    border-radius: 0; margin: 0 0 6px 16px; padding: 0; background: transparent; min-width: 0;
    max-height: none; overflow: visible;
  }

  .shf-fan { height: auto; display: grid; gap: 12px; max-width: none; }
  .shf-card { position: static; width: auto; min-height: 0; transform: none !important; }
  .shf-facts li { flex-basis: 50%; border-bottom: 1px solid var(--shf-line); }
  .shf-cut .shf-w { grid-template-columns: 1fr; }
  .shf-hands { grid-template-columns: 1fr; }
  .shf-hands .shf-hand:nth-child(even) { transform: none; }
  .shf-games { grid-template-columns: 1fr; }
  .shf-ymyl { padding: 20px 18px; }
  .shf-ymyl .tools { grid-template-columns: 1fr; }
  .shf-foot .cols { grid-template-columns: 1fr; gap: 24px; }
  .shf-sec { padding: 42px 0; }
  .shf-deal { padding: 36px 0 44px; }
  .shf-prose { font-size: 16px; }
  .shf-artboard .in { padding-left: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .shf-btn { transition: none; }
}


/* =============================================================================
   MARKDOWN-ТАБЛИЦЫ + ДОБОР ПЕРЕКРАСКИ .sfb-*   (2026-08-06)
   Перенос правок, отлаженных на теме mrbit (mrbit-brand.css, блоки 06/07).
   Построено на БАЗОВЫХ sfb-токенах, которые эта тема переопределяет под себя,
   → одна заготовка корректна и на тёмных, и на светлых темах.
   ============================================================================= */
.shf-prose {
  --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`
   (одинаковая специфичность, выигрывает то, что ниже по файлу). */
.shf-prose > 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);
}
.shf-prose > 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;
}
.shf-prose > table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--sfbx-line-2);
  vertical-align: top;
  color: var(--sfbx-tx);
}
.shf-prose > table tbody tr:last-child td { border-bottom: 0; }
.shf-prose > table tbody tr:nth-child(even) { background: var(--sfbx-bg-2); }
.shf-prose > table tbody tr:hover { background: var(--sfbx-acc-bg); }
.shf-prose > table td:first-child { color: var(--sfbx-strong); font-weight: 600; }
.shf-prose > table td strong { color: var(--sfbx-acc); font-weight: 700; }
.shf-prose > 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 → светлые плашки. */
.shf-prose .sfb-faq details {
  background: var(--sfbx-bg-2) !important;
  border-color: var(--sfbx-line) !important;
}
.shf-prose .sfb-faq details[open] { border-color: var(--sfbx-acc-dk) !important; }
.shf-prose .sfb-faq summary { color: var(--sfbx-strong) !important; }
.shf-prose .sfb-faq summary::after { color: var(--sfbx-acc) !important; }
.shf-prose .sfb-faq p { color: var(--sfbx-mut) !important; }
/* FAQ шире 640px базового лимита — на внутренних колонка позволяет */
.shf-prose .sfb-faq { max-width: none !important; }

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

/* промокод-чип: `border: 1.5px dashed #c2cad6` — холодный светлый хайрлайн */
.shf-prose .sfb-code,
.shf-prose .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 */
.shf-prose .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;
}
.shf-prose .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 */
.shf-prose .sfb-safety {
  background: var(--sfbx-bg) !important;
  border-color: var(--sfbx-line) !important;
}
.shf-prose .sfb-safety__gauge-inner { background: var(--sfbx-bg) !important; }
.shf-prose .sfb-safety__score { color: var(--sfbx-strong) !important; }
.shf-prose .sfb-safety__max   { color: var(--sfbx-faint) !important; }
.shf-prose .sfb-safety__desc  { color: var(--sfbx-mut) !important; }
.shf-prose .sfb-safety__barhead { color: var(--sfbx-mut) !important; }
.shf-prose .sfb-safety__track { background: var(--sfbx-bg-2) !important; }

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

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

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

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

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

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

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