/* bsb007: офсайт — app-shell. html/body overflow:hidden (не скроллятся), #header+#marquee
   статичны сверху, #footer (bottom-nav) статичен снизу, скроллится ТОЛЬКО #content
   (position:absolute; overflow-y:scroll между ними). Билдовый bb-spv-fix/bb-flow-fix
   разворачивал #content в static/visible → уезжали шапка и футер. Возвращаем app-shell. */
html, body {
  height: 100% !important;
  min-height: 100% !important;
  overflow: hidden !important;
  max-width: 100% !important;
}
#header, #marquee { position: relative !important; z-index: 5 !important; }
#marquee { overflow: hidden !important; max-width: 100% !important; }
/* тикер: правило #marquee span в билде БЕЗ animation-duration → каскад цепляет короткий
   родной duration (1s). Задаём явно 13s (быстрее офсайтных 20s по просьбе хозяина). */
#marquee span { animation-duration: 11s !important; }

/* Нативный GEO уже есть в header и подключён к общему /_lang, но захваченный
   body.C-стиль прячет его. Слева 58px свободны (burger скрыт), справа остаётся
   штатная partnership-кнопка — поэтому возвращаем native trigger без наложения. */
body.C #changelanguage,
#changelanguage[data-lang-wired="1"] {
  visibility: visible !important;
  left: 0 !important;
  right: auto !important;
  width: 58px !important;
  height: 56px !important;
  z-index: 6 !important;
  text-align: center !important;
}
#changelanguage::after {
  content: "AU";
  display: block;
  margin-top: -5px;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}

/* заголовок About BSB007: seo_build меняет тег h3→h2 (SEO-иерархия), из-за чего слетает
   офсайтный стиль (.about-class777 h3 = золотой 24px/800) → h2 стал белый 19.5px/700.
   Возвращаем офсайтный золотой заголовок на любой уровень. */
.about-class777 h1, .about-class777 h2, .about-class777 h3, .about-class777 h4 {
  color: #e6c98a !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

/* splide баннер: JS-движок вырезан, слайды схлопнулись в 0px (autoplay мёртв).
   Ширину слайдов и трека задаёт manual-overrides.js (от ширины splide-root),
   т.к. flex:0 0 100% даёт круговую зависимость slide↔list → 0px. */
.splide__list { display: flex !important; }
/* До отработки JS-автоплея splide держит высоту нескольких нескладенных слайдов (~761px),
   banner-wrapper обхватывает → под баннером ~600px пустоты, контент уезжает вниз.
   Фиксируем высоту баннера пропорцией офсайта (414:161) СРАЗУ через CSS (не ждём JS):
   aspect-ratio по ширине даёт ровно высоту одного слайда, overflow прячет остальные. */
.splide { aspect-ratio: 414 / 161 !important; overflow: hidden !important; }
.splide__track, .splide__list { height: 100% !important; }
.splide__slide { height: 100% !important; }
.banner-wrapper { height: auto !important; overflow: hidden !important; }

/* гео-переключатель: по центру под меню футера, оформлен как золотые кнопки сайта (.about-us-btn) */
.x-site-lang-section {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 18px 0 !important;
}
.x-site-lang-trigger {
  background: #e6c98a !important;
  color: #000 !important;
  border: 1px solid #e6c98a !important;
  border-radius: 6px !important;
  padding: 10px 22px !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
}
.x-site-lang-flag { font-size: 20px !important; line-height: 1 !important; }

#content {
  position: absolute !important;
  top: 76px !important;      /* header 56 + marquee 20 */
  left: 0 !important;
  right: 0 !important;
  bottom: 55px !important;   /* высота нижней панели #footer */
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}
#footer {
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 5 !important;
}

/* app-shell СТАТИЧНО (2026-07-21): раньше эти стили ставил mo.js shell() только на load
   (~4с на throttled) — переход #footer/#downloadapp в absolute давал CLS 0.37.
   Значения = HEADER_TOP 76 / NAV_H 55 из manual-overrides.js. */
html, body { height: 100% !important; overflow: hidden !important; }
#content {
  position: absolute !important;
  top: 76px !important; left: 0 !important; right: 0 !important; bottom: 55px !important;
  height: auto !important; max-height: none !important;
  overflow-y: auto !important; overflow-x: hidden !important;
}
#footer { position: absolute !important; top: auto !important; bottom: 0 !important; }

/* a11y/bp добивка до 100 (2026-07-21, по PSI-аудитам):
   - target-size: точки пагинации сплайда → таргет 24x24, видимая точка 8px через ::before
   - color-contrast: LIVE-бейдж red→#d50000 (4.5:1 с белым текстом, визуально тот же красный)
   - image-aspect-ratio: у #downloadapp и вкладок игр высота по аспекту, не по атрибуту */
html body .splide__pagination__page{width:24px !important;height:24px !important;background:transparent !important;position:relative;margin:0 !important;opacity:1 !important}
html body .splide__pagination__page::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#ccc;opacity:.7;transition:transform .2s linear}
html body .splide__pagination__page.is-active{transform:none !important}
html body .splide__pagination__page.is-active::before{transform:translate(-50%,-50%) scale(1.4);background:#fff;opacity:1}
html body #home-livetx .live{background:#d50000 !important}
html body #downloadapp img{height:auto !important}
html body .site-tab img{height:auto !important}

/* --- CLAUDE 28.09: универсалы bsb007bonus.com (по эталону 9pokies) --- */
/* Родная нижняя панель #footer и полоса «Download PWA APP» не показываются —
   навигация наша липкая панель. Окно прокрутки #content — до низа экрана:
   распорка липкой панели держит последний блок над ней. */
#footer, #downloadapp { display: none !important; }
html body #content { bottom: 0 !important; }
/* Межблочные отступы — ровно 12px, как на эталонах: сняты лишние margin
   родных обёрток (баланс, рефералы, кино), 30px пустого низа вкладок
   игр, padding колонок подвала, разделители <hr> подвала. */
#home .balance-wrapper { margin-top: -16px !important; }
#home .balance-wrapper > [data-x-text-key$=".texts.auth"] { margin-top: 11px !important; }
#home .refer-wrapper { margin-top: -3px !important; }
#home .lucky-wrapper { margin: 0 !important; }
#home .movie-wrapper { margin-top: 12px !important; }
/* двойной зазор «Sports → Games» снимаем снизу у Sports: отступ плашки Games
   рантайм крошек берёт как свой зазор (0 → крошки впритык, 28.09). */
#home .box-1-1 > [data-x-text-key$=".texts.betting-sports"] { margin-bottom: 0 !important; }
#home-game > .site-tabs { margin-top: 0 !important; }
#home-game > .game-container { margin-top: -30px !important; }
footer.footer > hr { display: none !important; }
footer.footer .footer-columns { padding-top: 0 !important; padding-bottom: 0 !important; }
footer.footer .x-site-lang-section { margin-top: 0 !important; margin-bottom: 0 !important; }
footer.footer [data-x-text-key$=".texts.geo-availability"] { margin-bottom: 0 !important; }
