/**
 * Поверх casino.css: без «звёздного» шума (точки/кометы/пыль), при этом сохраняются
 * штатные градиенты html/body и мягкие nebula из casino.css.
 * Сайдбар/шапка — см. ниже.
 */

/* Только заметные частицы; слой .site-bg-layer и градиенты страницы не отключаем */
[data-theme="dark"] .site-bg-layer .stars,
[data-theme="dark"] .site-bg-layer .stars-far,
[data-theme="dark"] .site-bg-layer .stars-mid,
[data-theme="dark"] .site-bg-layer .stars-near,
[data-theme="dark"] .site-bg-layer .comet,
[data-theme="dark"] .site-bg-layer .cosmos-dust {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Туманности чуть приглушить, чтобы фон не казался «пустым», но без мелкого зерна */
[data-theme="dark"] .site-bg-layer .cosmos-nebula {
  opacity: 0.35 !important;
}

/* Сайдбар: без рамки и «ореола» (в т.ч. dock ≥1024px) */
[data-theme="dark"] .casino-sidebar {
  background: var(--bg-elevated) !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

@media (min-width: 1024px) {
  [data-theme="dark"] .casino-sidebar {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
  }
}

/* Скролл внутри меню — без видимой полосы */
[data-theme="dark"] .casino-sidebar,
[data-theme="dark"] .casino-sidebar .sidebar-mobile-scroll {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

[data-theme="dark"] .casino-sidebar::-webkit-scrollbar,
[data-theme="dark"] .casino-sidebar .sidebar-mobile-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

/* Пункты навигации (моб. сетка и десктоп): без жёсткой обводки карточек */
[data-theme="dark"] .casino-sidebar .sidebar-nav-item {
  border-color: transparent !important;
  box-shadow: none !important;
}

[data-theme="dark"] .casino-sidebar .sidebar-nav-item:hover {
  border-color: transparent !important;
}

[data-theme="dark"] .casino-sidebar .sidebar-nav-item.active {
  border-color: transparent !important;
  box-shadow: none !important;
}

[data-theme="dark"] .casino-sidebar .sidebar-bottom {
  border-top-color: rgba(255, 255, 255, 0.06) !important;
}

/* Главная — «Все слоты»: поиск/провайдеры без серой обводки; теги каталога — см. блок «кнопки-теги» ниже */
#pageHome .home-slots-section .games-search-btn,
#pageHome .home-slots-section .games-search-btn:hover,
#pageHome .home-slots-section .games-provider-btn,
#pageHome .home-slots-section .games-provider-btn:hover {
  border: none !important;
  box-shadow: none !important;
}

#pageHome .home-slots-grid .game-card,
#pageHome .home-slots-grid .game-card:hover {
  border: none !important;
  outline: none !important;
}

#pageHome .home-slots-grid .game-card:hover {
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38) !important;
}

#pageHome .home-slots-grid .skeleton-slot {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

#pageHome .home-slots-section .catalog-tab:focus-visible,
#pageHome .home-slots-section .games-search-btn:focus-visible,
#pageHome .home-slots-section .games-provider-btn:focus-visible,
#pageGames .catalog-tab:focus-visible,
#pageGames .games-search-btn:focus-visible,
#pageGames .games-provider-btn:focus-visible {
  outline: 2px solid var(--accent, #fed7a5);
  outline-offset: 2px;
}

/* --- Каталог: кнопки-теги (главная + /games) — крупнее и читабельнее --- */
#pageHome .home-catalog-tabs,
#pageHome .catalog-tabs-scroll .catalog-tabs,
#pageGames .catalog-tabs-scroll .catalog-tabs,
#pageGames .catalog-tabs,
#catalogTabs {
  gap: 8px !important;
  padding: 6px 0 10px !important;
}

#pageHome .home-catalog-tabs .catalog-tab,
#pageHome .home-catalog-tabs .catalog-tab.catalog-tab--sm,
#pageGames .catalog-tabs .catalog-tab,
#pageGames .catalog-tabs-scroll .catalog-tab,
#catalogTabs .catalog-tab {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: none !important;
  outline: none !important;
  color: rgba(242, 240, 236, 0.9) !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}

#pageHome .home-catalog-tabs .catalog-tab:hover,
#pageGames .catalog-tabs .catalog-tab:hover,
#catalogTabs .catalog-tab:hover {
  color: var(--text, #f2f0ec) !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: none !important;
}

#pageHome .home-catalog-tabs .catalog-tab.active,
#pageGames .catalog-tabs .catalog-tab.active,
#catalogTabs .catalog-tab.active {
  background: var(--accent, #fed7a5) !important;
  color: var(--btn-primary-text, #1a1c24) !important;
  border: none !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 12px var(--accent-glow, rgba(254, 215, 165, 0.25)) !important;
}

#pageHome .home-catalog-tabs .catalog-tab-icon,
#pageGames .catalog-tabs .catalog-tab-icon,
#catalogTabs .catalog-tab-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 18px !important;
  height: 18px !important;
}

#pageHome .home-catalog-tabs .catalog-tab-icon .svg-icon,
#pageHome .home-catalog-tabs .catalog-tab-icon svg,
#pageGames .catalog-tabs .catalog-tab-icon .svg-icon,
#pageGames .catalog-tabs .catalog-tab-icon svg,
#catalogTabs .catalog-tab-icon .svg-icon,
#catalogTabs .catalog-tab-icon svg {
  width: 18px !important;
  height: 18px !important;
}

#pageHome .home-slots-section .games-toolbar .games-search-btn,
#pageHome .home-slots-section .games-toolbar .games-provider-btn,
#pageGames .games-toolbar .games-search-btn,
#pageGames .games-toolbar .games-provider-btn {
  min-height: 42px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
}

[data-theme="light"] #pageHome .home-catalog-tabs .catalog-tab,
[data-theme="light"] #pageGames .catalog-tabs .catalog-tab,
[data-theme="light"] #catalogTabs .catalog-tab {
  background: #eceef4 !important;
  border: none !important;
  color: #3a3d48 !important;
}

[data-theme="light"] #pageHome .home-catalog-tabs .catalog-tab:hover,
[data-theme="light"] #pageGames .catalog-tabs .catalog-tab:hover,
[data-theme="light"] #catalogTabs .catalog-tab:hover {
  background: #e2e5ed !important;
  color: #1a1c24 !important;
}

@media (max-width: 520px) {
  #pageHome .home-catalog-tabs .catalog-tab,
  #pageHome .home-catalog-tabs .catalog-tab.catalog-tab--sm,
  #pageGames .catalog-tabs .catalog-tab,
  #catalogTabs .catalog-tab {
    min-height: 40px !important;
    padding: 9px 14px !important;
    font-size: 0.8125rem !important;
  }
}

/* --- Шапка: «пилюля» и трёхколоночная сетка только на десктопе (≥721px). На мобиле — прежняя строка без общего корпуса --- */
@media (min-width: 721px) {
  .casino-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    column-gap: 12px;
    padding-left: max(16px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(16px, env(safe-area-inset-right, 0px)) !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
    border: none !important;
  }

  .header-left {
    flex: unset !important;
    justify-self: start;
    min-width: 0;
    overflow: visible;
  }

  .header-center {
    justify-self: center;
    min-width: 0;
    max-width: min(96vw, 760px);
  }

  .header-center-dock {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 4px 6px;
    padding: 5px 8px;
    border-radius: var(--radius-lg, 18px);
    box-sizing: border-box;
    max-width: 100%;
  }

  .header-center-dock .header-buttons {
    flex: 0 1 auto;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 4px 6px;
    min-width: 0;
  }

  /* Таймер буста тикает каждую секунду — фиксируем ширину, иначе шапка и bottom-sheet «прыгают» */
  .header-center-dock .header-boost-indicator {
    flex-shrink: 0;
    min-height: 34px;
    box-sizing: border-box;
  }

  .header-center-dock .header-boost-timer {
    display: inline-block;
    min-width: 5.5ch;
    text-align: center;
    font-variant-numeric: tabular-nums;
  }

  .header-center-dock .header-boost-label {
    flex-shrink: 0;
  }

  .header-right {
    flex: unset !important;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }

  /* Как у док-сайдбара: один корпус, внутри элементы без своих «плашек» */
  [data-theme="dark"] .header-center-dock {
    background: var(--bg-elevated) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.42) !important;
  }

  [data-theme="dark"] .header-center-dock .header-balance-trigger {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  [data-theme="dark"] .header-center-dock .header-balance-slot--multi .header-balance-trigger:hover,
  [data-theme="dark"] .header-center-dock .header-balance-trigger:hover {
    background: rgba(255, 255, 255, 0.06) !important;
  }

  [data-theme="dark"] .header-center-dock .header-balance-trigger--open {
    background: rgba(255, 255, 255, 0.07) !important;
  }

  [data-theme="dark"] .header-center-dock .btn.btn-outline {
    background: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
  }

  [data-theme="dark"] .header-center-dock .btn.btn-outline:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
  }

  [data-theme="dark"] .header-center-dock .header-btn-notify,
  [data-theme="dark"] .header-center-dock .header-btn-chat {
    background: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
  }

  [data-theme="dark"] .header-center-dock .header-btn-notify:hover,
  [data-theme="dark"] .header-center-dock .header-btn-chat:hover {
    background: rgba(255, 255, 255, 0.06) !important;
  }

  [data-theme="dark"] .header-center-dock .header-btn-deposit {
    box-shadow: 0 2px 10px rgba(254, 215, 165, 0.12) !important;
  }

  [data-theme="dark"] .header-center-dock .header-boost-indicator {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
  }

  [data-theme="dark"] .header-center-dock .header-buttons .header-notify-badge {
    box-shadow: 0 0 0 2px var(--bg-elevated) !important;
  }

  [data-theme="light"] .header-center-dock {
    background: var(--bg-elevated) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.08) !important;
  }

  [data-theme="light"] .header-center-dock .header-balance-trigger {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  [data-theme="light"] .header-center-dock .btn.btn-outline {
    background: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
  }

  [data-theme="light"] .header-center-dock .btn.btn-outline:hover {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
  }

  [data-theme="light"] .header-center-dock .header-btn-notify,
  [data-theme="light"] .header-center-dock .header-btn-chat {
    background: transparent !important;
    border: 1px solid transparent !important;
  }

  [data-theme="light"] .header-center-dock .header-btn-notify:hover,
  [data-theme="light"] .header-center-dock .header-btn-chat:hover {
    background: rgba(0, 0, 0, 0.05) !important;
  }

  [data-theme="light"] .header-center-dock .header-buttons .header-notify-badge {
    box-shadow: 0 0 0 2px var(--bg-elevated) !important;
  }

  [data-theme="light"] .casino-header {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
  }
}

/* --- Мобильная шапка (≤720px): без «Профиль» и бургера; не дублируем safe-area / fixed из casino.css --- */
@supports (padding: env(safe-area-inset-top)) {
  @media (max-width: 720px) {
    /* Telegram / in-app: часто завышенный safe-area — ограничиваем */
    html[data-in-app-browser="1"] {
      --header-stack-offset: calc(var(--header-h) + min(env(safe-area-inset-top), 12px));
    }

    html[data-in-app-browser="1"] .casino-header {
      padding-top: min(env(safe-area-inset-top), 12px) !important;
      height: var(--header-stack-offset) !important;
      min-height: var(--header-stack-offset) !important;
    }
  }
}

@media (max-width: 720px) {
  .casino-header {
    display: flex !important;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: nowrap;
    /* position: fixed и padding-top safe-area — только в casino.css */
    padding-bottom: 6px !important;
    padding-left: max(12px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(12px, env(safe-area-inset-right, 0px)) !important;
    background: rgba(22, 23, 30, 0.94) !important;
    backdrop-filter: blur(14px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.15) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35) !important;
  }

  [data-theme="light"] .casino-header {
    background: rgba(248, 247, 244, 0.94) !important;
    border-bottom-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
  }

  .casino-header.casino-header--scrolled {
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.42) !important;
  }

  .header-left {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 42%;
    overflow: hidden;
  }

  .header-left .header-brand-logo {
    display: flex;
    align-items: center;
    min-width: 0;
  }

  .header-left .logo-img {
    display: block;
    max-width: min(118px, 38vw);
    width: auto !important;
    height: auto;
    max-height: 30px;
    object-fit: contain;
  }

  .header-center {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    display: flex;
    justify-content: flex-end;
  }

  .header-center-dock {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 0;
    width: auto;
    max-width: 100%;
    padding: 0;
    border-radius: 0;
    box-sizing: border-box;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* Профиль и бургер — только в нижней панели */
  .header-btn-profile--desktop,
  .header-right--desktop-menu {
    display: none !important;
  }

  .header-center-dock .header-buttons,
  .header-center-dock #headerGuest.header-buttons {
    display: inline-flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 0;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  .header-center-dock .header-boost-indicator,
  .header-center-dock .header-btn-chat {
    display: none !important;
  }

  /* Модалка счетов: без пересчёта позиции при мелких изменениях высоты шапки (буст / safe-area) */
  .header-balance-dropdown:not(.hidden) {
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    will-change: transform;
  }

  .header-balance-sheet-backdrop:not(.hidden) {
    transform: translateZ(0);
  }

  .header-balance-slot {
    min-width: 0;
  }

  .header-balance-trigger {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: min(128px, 34vw);
    min-width: 0;
    min-height: 36px;
    padding: 0 4px !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 0.82rem;
    font-weight: 700;
  }

  .header-balance-trigger-icon {
    flex-shrink: 0;
    opacity: 0.85;
  }

  .header-balance-trigger .header-balance-chevron {
    display: none;
  }

  .header-balance-trigger .header-balance-trigger-text,
  .header-balance-trigger .balance {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .header-balance-trigger .balance-main {
    font-variant-numeric: tabular-nums;
  }

  .header-btn-deposit {
    min-height: 36px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    font-size: 0.8rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 2px 12px rgba(254, 215, 165, 0.22) !important;
  }

  .header-btn-notify {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    flex-shrink: 0;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  .header-btn-notify svg {
    width: 20px;
    height: 20px;
  }

  .header-center-dock .header-buttons .header-notify-badge {
    top: 2px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    font-size: 0.62rem;
    line-height: 16px;
    box-shadow: 0 0 0 2px var(--bg-elevated) !important;
  }

  .header-guest-btn {
    min-height: 36px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    white-space: nowrap;
  }

  #headerGuest .header-guest-btn.btn-outline {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--text-muted);
    padding: 0 10px !important;
  }

  #headerGuest .header-guest-btn.btn-primary {
    box-shadow: 0 2px 12px rgba(254, 215, 165, 0.2) !important;
  }
}

/* Планшет: бургер в шапке, профиль скрыт (как раньше) */
@media (min-width: 721px) and (max-width: 1023px) {
  .header-right--desktop-menu {
    display: flex;
    align-items: center;
  }

  .header-btn-profile--desktop {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .header-right--desktop-menu {
    display: none !important;
  }
}

@media (min-width: 721px) and (max-width: 900px) {
  .header-center-dock {
    padding: 4px 6px;
    gap: 4px;
    border-radius: var(--radius-md, 14px);
  }

  .header-center-dock .btn {
    padding: 8px 12px;
    font-size: 0.78rem;
  }

  .header-btn-profile--desktop {
    display: none !important;
  }
}

/* Плавающая «стекляшка» при скролле — оставляем только центральный блок с заливкой */
.casino-header.casino-header--scrolled {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
}

/* Главная: «Последние выигрыши» (legacy strip, скрыт) */
#pageHome .home-recent-wins {
  width: 100%;
  max-width: none;
  margin: 2rem 0 2.25rem;
  padding: 0 clamp(10px, 2.2vw, 28px);
  box-sizing: border-box;
}

.home-recent-wins__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.home-recent-wins__title {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  font-size: 1.06rem;
  font-weight: 700;
  color: var(--text, #f2f0ec);
  letter-spacing: -0.02em;
}

.home-recent-wins__strip-wrap {
  position: relative;
  margin: 0 -4px;
  padding: 4px 4px 10px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}

.home-recent-wins__strip {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 10px;
  width: max-content;
  min-height: 104px;
}

.home-recent-wins__card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex: 0 0 auto;
  width: min(260px, 82vw);
  scroll-snap-align: start;
  background: rgba(30, 30, 34, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.home-recent-wins__thumb {
  width: 76px;
  min-width: 76px;
  height: auto;
  align-self: stretch;
  object-fit: cover;
  background: #2a2a30;
}

/* Широкий экран: до 6 карточек в ряд без горизонтального скролла */
@media (min-width: 1320px) {
  .home-recent-wins__strip-wrap {
    overflow-x: visible;
    scroll-snap-type: none;
  }

  .home-recent-wins__strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    min-height: 102px;
  }

  .home-recent-wins__card {
    width: auto;
    max-width: none;
    min-width: 0;
    scroll-snap-align: unset;
  }

  .home-recent-wins__thumb {
    width: 68px;
    min-width: 68px;
  }
}

@media (min-width: 1024px) and (max-width: 1319px) {
  .home-recent-wins__strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    min-height: 102px;
  }

  .home-recent-wins__strip-wrap {
    overflow-x: visible;
    scroll-snap-type: none;
  }

  .home-recent-wins__card {
    width: auto;
    max-width: none;
    min-width: 0;
  }
}

@media (min-width: 640px) and (max-width: 1023px) {
  .home-recent-wins__strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
  }

  .home-recent-wins__strip-wrap {
    overflow-x: visible;
  }

  .home-recent-wins__card {
    width: auto;
    max-width: none;
    min-width: 0;
  }
}

.home-recent-wins__info {
  position: relative;
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 4px;
  padding: 32px 8px 10px 8px;
}

.home-recent-wins__badge {
  position: absolute;
  top: 8px;
  right: 8px;
  max-width: calc(100% - 16px);
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  background: #27ae60;
  color: #fff;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
}

.home-recent-wins__game {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text, #f2f0ec);
  line-height: 1.2;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-recent-wins__player {
  font-size: 0.7rem;
  color: var(--text-muted, #9a9ca8);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-recent-wins__mult {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--text-dim, #6b6e78);
  letter-spacing: 0.02em;
}

.home-recent-wins__card--highlight {
  border-color: rgba(243, 156, 18, 0.55);
  box-shadow: 0 0 0 1px rgba(243, 156, 18, 0.2), 0 10px 28px rgba(0, 0, 0, 0.45);
}

.home-recent-wins__card--highlight .home-recent-wins__info {
  background: linear-gradient(135deg, rgba(243, 156, 18, 0.22) 0%, rgba(30, 30, 34, 0.4) 55%);
}

.home-recent-wins__card--highlight .home-recent-wins__badge {
  background: #fff;
  color: #1a1b22;
}

[data-theme="light"] .home-recent-wins__card {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .home-recent-wins__card--highlight .home-recent-wins__info {
  background: linear-gradient(135deg, rgba(243, 156, 18, 0.18) 0%, rgba(255, 255, 255, 0.5) 55%);
}

/* Теги на превью карточки (ХИТ / NEW / RTP) */
.game-card--pinko .game-card-img,
.game-card--grid .game-card-img {
  position: relative;
  aspect-ratio: var(--slot-aspect, 4 / 3);
  min-height: 72px;
  background: var(--bg-card, #282a35);
}

.game-card--pinko .game-card-img img,
.game-card--grid .game-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.game-card-thumb-tags {
  position: absolute;
  top: 6px;
  left: 6px;
  right: 6px;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  pointer-events: none;
}

.game-thumb-tag {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 6px;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.game-thumb-tag--hit {
  background: linear-gradient(135deg, #e85d4a 0%, #c93b2a 100%);
  color: #fff;
}

.game-thumb-tag--new {
  background: linear-gradient(135deg, #3d9a6a 0%, #2a7a52 100%);
  color: #fff;
}

.game-thumb-tag--rtp {
  background: linear-gradient(135deg, rgba(201, 182, 147, 0.96) 0%, rgba(168, 145, 110, 0.96) 100%);
  color: #1a1e24;
  text-transform: none;
}

[data-theme="light"] .game-thumb-tag--rtp {
  background: linear-gradient(135deg, #d4b896 0%, #b89a6e 100%);
  color: #1a1e24;
}

/* Карточки игр: гео-блок — оверлей поверх превью (pinko: inner был position:static) */
.game-card.game-card--geo-blocked {
  position: relative;
}

.game-card.game-card--geo-blocked .game-card-inner--thumb,
.game-card.game-card--geo-blocked .game-card-inner.game-card-inner--thumb,
.game-card.game-card--geo-blocked .game-card-img-wrap {
  position: relative !important;
}

.game-card.game-card--pinko.game-card--geo-blocked .game-card-geo-overlay {
  z-index: 12;
  border-radius: 12px;
}

.game-card-geo-overlay__provider {
  display: block;
  max-width: 100%;
  font-size: 0.58rem;
  font-weight: 500;
  line-height: 1.2;
  color: rgba(242, 240, 236, 0.72);
  text-transform: none;
}

.game-card-geo-overlay__sub {
  display: block;
  max-width: 100%;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: rgba(242, 240, 236, 0.95);
}

.game-card-geo-overlay__sub--warn {
  color: #e85d5d;
  font-weight: 700;
}

.game-card-geo-overlay__title {
  display: block;
  text-transform: uppercase;
}

html[data-slot-catalog-layout="portrait"] .game-card-geo-overlay {
  padding: 8px 6px;
  gap: 4px;
}

html[data-slot-catalog-layout="portrait"] .game-card-geo-overlay__icon {
  width: 28px;
  height: 28px;
}

html[data-slot-catalog-layout="portrait"] .game-card-geo-overlay__icon svg {
  width: 24px;
  height: 24px;
}

html[data-slot-catalog-layout="portrait"] .game-card-geo-overlay__title {
  font-size: 0.6rem;
  line-height: 1.15;
}

html[data-slot-catalog-layout="portrait"] .game-card-geo-overlay__sub {
  font-size: 0.55rem;
}

/* Поиск: карточки игр */
.search-popup-results-grid {
  gap: 12px;
}

@media (max-width: 420px) {
  .search-popup-results-grid {
    grid-template-columns: 1fr;
  }
}

.search-popup-game-card {
  align-items: stretch;
  gap: 12px;
  padding: 10px 12px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  cursor: pointer;
}

.search-popup-game-card:hover {
  border-color: rgba(254, 215, 165, 0.42);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
  transform: translateY(-1px);
}

.search-popup-game-card.game-card--geo-blocked {
  opacity: 0.72;
  cursor: not-allowed;
}

.search-popup-game-card.game-card--geo-blocked:hover {
  transform: none;
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.search-popup-game-card.guest-only {
  opacity: 0.88;
}

.search-popup-game-thumb {
  position: relative;
  width: 76px;
  min-width: 76px;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--bg-card);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.search-popup-game-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.search-popup-game-thumb.is-geo-blocked img,
.search-popup-game-thumb.is-placeholder img {
  filter: grayscale(0.85) brightness(0.72);
}

.search-popup-game-thumb.is-placeholder {
  background: linear-gradient(135deg, #1a1e24 0%, #282a35 100%);
}

.search-popup-game-geo {
  position: absolute;
  left: 6px;
  bottom: 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 7px;
  border-radius: 6px;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #f2f0ec;
  background: rgba(20, 22, 28, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(6px);
  line-height: 1;
  pointer-events: none;
}

.search-popup-game-geo svg {
  width: 11px;
  height: 11px;
  flex-shrink: 0;
  opacity: 0.9;
}

.search-popup-game-play-hint {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: rgba(10, 12, 16, 0.55);
  opacity: 0;
  transition: opacity 0.18s ease;
  pointer-events: none;
}

.search-popup-game-card:hover .search-popup-game-play-hint {
  opacity: 1;
}

.search-popup-game-play-hint__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--accent);
  color: #1a1b22;
  font-size: 0.72rem;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(254, 215, 165, 0.35);
}

.search-popup-game-play-hint__label {
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--accent);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.search-popup-game-body {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 2px 0;
}

.search-popup-game-name {
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-popup-game-provider-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.search-popup-game-provider-logo {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.search-popup-game-provider-logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.search-popup-game-provider {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-popup-results-count {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text-dim);
  margin-bottom: 14px;
}

[data-theme="light"] .search-popup-game-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.88) 100%);
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .search-popup-game-card:hover {
  border-color: rgba(158, 103, 82, 0.35);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
}

[data-theme="light"] .search-popup-game-thumb {
  border-color: rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .search-popup-game-geo {
  background: rgba(255, 255, 255, 0.92);
  color: #534145;
  border-color: rgba(0, 0, 0, 0.1);
}

/* Промо-слайдеры главной: высота из настроек (админка → home_mini_promo_sliders.layout) */
:root {
  --home-mini-promo-desktop-h: 294px;
  --home-mini-promo-mobile-min: 162px;
  --home-mini-promo-mobile-vmin: 41vmin;
  --home-mini-promo-mobile-max: 218px;
  --home-mini-promo-mobile-max-vh: 43vh;
}

@media (min-width: 1024px) {
  .home-mini-promo-viewport,
  .home-banner-row > .home-desktop-dual-promo .home-mini-promo-viewport,
  .home-mini-promo-track,
  .home-mini-promo-slide {
    min-height: var(--home-mini-promo-desktop-h) !important;
  }
}

@media (max-width: 1023px) {
  .home-mobile-mini-promo-wrap .home-mini-promo-viewport,
  .home-mobile-mini-promo-wrap .home-mini-promo-track,
  .home-mobile-mini-promo-wrap .home-mini-promo-slide {
    min-height: clamp(
      var(--home-mini-promo-mobile-min),
      var(--home-mini-promo-mobile-vmin),
      var(--home-mini-promo-mobile-max)
    ) !important;
  }

  .home-mobile-mini-promo-wrap .home-mini-promo-viewport {
    max-height: min(var(--home-mini-promo-mobile-max-vh), 322px) !important;
  }
}

/* Главная Avegas: только табы категорий, сетка — на /games/slots */
#pageHome .home-slots-section--tabs-only .home-slots-grid,
#pageHome .home-slots-section--tabs-only .home-games-hint {
  display: none !important;
}

#pageHome .home-slots-section--tabs-only .games-nav-row--categories {
  margin-bottom: 4px;
}

/* Главная: заголовок «Категории» + поиск/провайдеры сверху, табы каталога — на всю ширину ниже */
#pageHome .home-slots-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px 14px !important;
  flex-wrap: wrap !important;
  margin-bottom: 10px !important;
}

#pageHome .home-slots-section-head .section-title--home-row {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

#pageHome .home-slots-section-head .home-slots-toolbar-wrap {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  justify-content: flex-end !important;
  margin-left: auto !important;
}

#pageHome .home-slots-section-head .home-slots-toolbar,
#pageHome .home-slots-section-head .games-toolbar {
  width: auto !important;
  flex: 0 0 auto !important;
}

#pageHome .home-slots-section-head .games-search-btn,
#pageHome .home-slots-section-head .games-provider-btn {
  flex: 0 0 auto !important;
}

#pageHome .games-nav-block--home {
  display: block !important;
  margin-bottom: 14px !important;
}

#pageHome .games-nav-block--home .games-nav-row--categories {
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

#pageHome .games-nav-block--home .home-catalog-tabs-scroll {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 2px 0 6px !important;
  mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
}

#pageHome .games-nav-block--home .home-catalog-tabs-scroll::-webkit-scrollbar {
  display: none;
}

#pageHome .games-nav-block--home .home-catalog-tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  min-width: 100% !important;
  overflow: visible !important;
  padding: 2px 4px 2px 0 !important;
}

#pageHome .games-nav-block--home .home-catalog-tabs .catalog-tab {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}

#pageHome .home-slots-section-head .games-toolbar-btn-label {
  white-space: nowrap;
}

@media (max-width: 720px) {
  #pageHome .home-slots-section-head {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #pageHome .home-slots-section-head .home-slots-toolbar-wrap {
    width: 100% !important;
    margin-left: 0 !important;
    justify-content: stretch !important;
  }

  #pageHome .home-slots-section-head .home-slots-toolbar,
  #pageHome .home-slots-section-head .games-toolbar {
    width: 100% !important;
  }

  #pageHome .home-slots-section-head .games-search-btn {
    flex: 1 1 0 !important;
  }
}

@media (min-width: 1024px) and (max-width: 1180px) {
  #pageHome .home-slots-section-head .games-toolbar-btn-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  #pageHome .home-slots-section-head .games-search-btn,
  #pageHome .home-slots-section-head .games-provider-btn {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* 2FA игрока — встроено в раздел «Безопасность» */
.acc-security-item--2fa {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.acc-security-item--2fa .acc-security-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
}

.player-totp-inline {
  width: 100%;
  margin-top: 14px;
  padding: 16px;
  border-radius: var(--radius-md, 12px);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-strong, rgba(255, 255, 255, 0.1));
}

.player-totp-inline.hidden {
  display: none !important;
}

.player-totp-inline-step.hidden {
  display: none !important;
}

.player-totp-lead {
  margin: 0 0 12px;
  font-size: 0.875rem;
  line-height: 1.45;
}

.player-totp-qr-wrap {
  display: flex;
  justify-content: center;
  margin: 8px 0 12px;
}

.player-totp-qr {
  border-radius: 12px;
  background: #fff;
  padding: 8px;
}

.player-totp-secret {
  display: block;
  word-break: break-all;
  padding: 10px 12px;
  border-radius: var(--radius-sm, 8px);
  background: rgba(255, 255, 255, 0.06);
  font-size: 0.8rem;
  line-height: 1.35;
  margin: 0 0 12px;
}

.player-totp-field {
  display: block;
  margin-bottom: 10px;
}

.player-totp-field-label {
  display: block;
  font-size: 12px;
  margin-bottom: 4px;
}

.player-totp-inline-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin-top: 4px;
}

.player-totp-inline-actions .btn-primary {
  flex: 1 1 160px;
  min-width: 0;
}

#playerTotpError {
  margin: 10px 0 0;
}

.auth-totp-wrap {
  margin-bottom: 4px;
}

#accSecurity2faItem .btn[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

[data-theme="light"] .player-totp-inline {
  background: #f4f5f8;
  border-color: rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .player-totp-secret {
  background: #eceef4;
}

/* Теги выбранных провайдеров (рядом с поиском) */
.games-toolbar-actions-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  width: 100%;
  min-width: 0;
}

.provider-filter-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  flex: 1 1 auto;
  min-width: 0;
}

.provider-filter-tags.hidden {
  display: none !important;
}

.provider-filter-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 6px 10px 6px 8px;
  border-radius: 999px;
  border: 1px solid var(--border-strong, rgba(255, 255, 255, 0.14));
  background: var(--bg-card, rgba(255, 255, 255, 0.06));
  color: var(--text, #f2f0ec);
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.provider-filter-tag:hover {
  border-color: var(--accent-muted, #e8c9a0);
  background: var(--bg-card-hover, rgba(255, 255, 255, 0.09));
}

.provider-filter-tag-logo {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  object-fit: contain;
  flex-shrink: 0;
  background: rgba(0, 0, 0, 0.2);
}

.provider-filter-tag-logo--broken,
.provider-filter-tag-logo[src=""] {
  display: none;
}

.provider-filter-tag-logo-ph {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 800;
  background: var(--accent-dim, rgba(254, 215, 165, 0.12));
  color: var(--accent, #fed7a5);
}

.provider-filter-tag-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 12rem;
}

.provider-filter-tag-remove {
  font-size: 1.1rem;
  line-height: 1;
  opacity: 0.75;
  margin-left: 2px;
}

[data-theme="light"] .provider-filter-tag {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.1);
  color: #1a1c24;
}

/* Сайдбар: карточка лояльности без XP / пыли / шестерёнок */
#sidebarLoyaltyDash .sidebar-dash-link {
  margin-bottom: 0 !important;
}

#sidebarLoyaltyDash .sidebar-dash-info {
  gap: 4px !important;
}

/* --- Попап «Провайдеры»: drawer справа на всю высоту, сетка 3 в ряд --- */
#providerPopup.provider-popup {
  justify-content: flex-end !important;
  align-items: stretch !important;
  padding: 0 !important;
}

#providerPopup .provider-popup-panel {
  width: min(520px, calc(100vw - 16px)) !important;
  max-width: 520px !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: none !important;
  margin: 0 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 0 !important;
}

#providerPopup .provider-popup-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-shrink: 0 !important;
  gap: 12px !important;
  padding: 18px 20px 0 !important;
  border-bottom: none !important;
}

#providerPopup .provider-popup-head h3 {
  margin: 0 !important;
  font-size: 1rem !important;
}

#providerPopup .provider-popup-search-wrap {
  flex-shrink: 0;
  padding: 14px 20px 12px !important;
  margin-top: 0 !important;
}

#providerPopup .provider-popup-search {
  width: 100%;
}

#providerPopup .provider-list {
  display: grid !important;
  flex-direction: unset !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(72px, auto) !important;
  gap: 8px !important;
  padding: 8px 16px 16px !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-content: start !important;
  align-items: start !important;
  -webkit-overflow-scrolling: touch;
}

#providerPopup .provider-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  grid-template-columns: unset !important;
  grid-template-rows: unset !important;
  position: relative !important;
  margin: 0 !important;
  padding: 8px 6px !important;
  min-height: 72px !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  align-self: start !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

#providerPopup .provider-item > * {
  position: relative !important;
  z-index: 1 !important;
}

#providerPopup .provider-item:hover {
  border-color: rgba(255, 255, 255, 0.16) !important;
  background: rgba(255, 255, 255, 0.07) !important;
}

#providerPopup .provider-item.selected {
  border-color: var(--accent, #fed7a5) !important;
  background: var(--accent-dim, rgba(254, 215, 165, 0.12)) !important;
  box-shadow: 0 0 0 1px rgba(254, 215, 165, 0.25) !important;
}

#providerPopup .provider-item-check {
  position: absolute !important;
  top: 6px !important;
  right: 6px !important;
  left: auto !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.45) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  opacity: 0;
  transition: opacity 0.15s ease;
}

#providerPopup .provider-item.selected .provider-item-check {
  opacity: 1;
  background: var(--accent, #fed7a5) !important;
  border-color: var(--accent, #fed7a5) !important;
  color: var(--btn-primary-text, #1a1c24) !important;
}

#providerPopup .provider-item-check svg {
  width: 14px !important;
  height: 14px !important;
}

#providerPopup .provider-item-logo-wrap {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

#providerPopup .provider-item-logo {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 52px !important;
  object-fit: contain !important;
  object-position: center center !important;
}

#providerPopup .provider-item-logo-ph {
  width: 72% !important;
  height: 36px !important;
  min-height: 36px !important;
  border: 1px dashed rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px !important;
  background: rgba(0, 0, 0, 0.15) !important;
}

#providerPopup .provider-item-count-bubble {
  display: none !important;
}

#providerPopup .provider-item-name {
  display: block !important;
  margin-top: 5px !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  color: rgba(255, 255, 255, 0.72) !important;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#providerPopup .provider-item:not(.provider-item--no-logo) .provider-item-name {
  display: none !important;
}

/* Без лого — подпись под плиткой (Slot Lab и др.) */
#providerPopup .provider-item.provider-item--no-logo .provider-item-name {
  display: block !important;
  margin-top: 6px !important;
  font-size: 0.68rem !important;
  color: var(--text-muted, #9a9ca8) !important;
}

#providerPopup .provider-item.provider-item--no-logo .provider-item-logo-ph {
  height: 36px !important;
  min-height: 36px !important;
}

#providerPopup .provider-list > .muted {
  grid-column: 1 / -1;
  text-align: center;
  padding: 20px 12px !important;
}

#providerPopup .provider-popup-foot {
  flex-shrink: 0;
  padding: 18px 20px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  margin-top: 0 !important;
  border-top: 1px solid var(--border, rgba(255, 255, 255, 0.07)) !important;
}

@media (max-width: 520px) {
  #providerPopup .provider-popup-panel {
    width: min(400px, calc(100vw - 12px)) !important;
    max-width: 100% !important;
  }

  #providerPopup .provider-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  #providerPopup .provider-list {
    grid-auto-rows: minmax(68px, auto) !important;
  }

  #providerPopup .provider-item {
    min-height: 68px !important;
  }

  #providerPopup .provider-item-logo-wrap {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
  }

  #providerPopup .provider-item-logo {
    max-height: 48px !important;
  }
}

[data-theme="light"] #providerPopup .provider-item {
  background: #f3f4f8 !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] #providerPopup .provider-item.selected {
  border-color: var(--accent-deep, #c9a574) !important;
  background: rgba(254, 215, 165, 0.2) !important;
}

/* --- Случайный слот: карточка в стиле главной, без золотой обводки и иконки --- */
.home-random-slot {
  padding: 0 !important;
  margin-bottom: 28px;
  border-radius: var(--radius-lg, 16px);
  background: none !important;
  background-size: auto !important;
  animation: none !important;
  box-shadow: none !important;
}

.home-random-slot__shell {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg, 16px);
  border: none !important;
  outline: none !important;
  box-shadow: var(--shadow-card, 0 8px 32px rgba(0, 0, 0, 0.35)) !important;
  background: var(--bg-card, #282a35);
}

.home-random-slot__bg {
  background: linear-gradient(
    145deg,
    rgba(254, 215, 165, 0.06) 0%,
    transparent 42%,
    rgba(0, 0, 0, 0.12) 100%
  ) !important;
}

.home-random-slot__bg::after {
  display: none !important;
}

.home-random-slot__inner {
  padding: 20px 20px 22px !important;
  gap: 20px 24px !important;
  min-height: 0 !important;
}

.home-random-slot__badge-icon {
  display: none !important;
}

.home-random-slot__title {
  display: block !important;
  margin: 0 0 6px !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: var(--text, #f2f0ec) !important;
  background: none !important;
  animation: none !important;
}

.home-random-slot__title-text {
  color: inherit !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  animation: none !important;
}

.home-random-slot__sub {
  margin: 0 0 16px !important;
  padding: 0 !important;
  max-width: none !important;
  font-size: 0.88rem !important;
  color: var(--text-muted, #9a9ca8) !important;
  line-height: 1.45 !important;
}

.home-random-slot__btn.home-random-slot__btn {
  margin: 0 !important;
  padding: 12px 22px !important;
  min-height: 44px;
  border: none !important;
  border-radius: var(--radius-sm, 8px) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  background: var(--btn-primary, #fed7a5) !important;
  color: var(--btn-primary-text, #1a1c24) !important;
}

.home-random-slot__btn:hover:not(:disabled) {
  background: var(--btn-primary-hover, #ffe8c8) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28) !important;
}

.home-random-slot__btn-icon {
  color: var(--btn-primary-text, #1a1c24) !important;
}

.home-random-slot__reel-frame {
  border-radius: var(--radius-md, 12px);
  background: rgba(0, 0, 0, 0.2);
  padding: 10px 0;
}

.home-random-slot__viewport {
  --random-reel-tile-w: 118px;
  --random-reel-tile-half: 59px;
}

.home-random-slot__pointer {
  border-left-color: transparent !important;
  border-right-color: transparent !important;
  filter: drop-shadow(0 0 6px rgba(254, 215, 165, 0.45));
}

.home-random-slot__pointer--top {
  border-bottom-color: var(--accent, #fed7a5) !important;
}

.home-random-slot__pointer--bottom {
  border-top-color: var(--accent, #fed7a5) !important;
}

.home-random-reel__tile {
  flex: 0 0 var(--random-reel-tile-w) !important;
  width: var(--random-reel-tile-w) !important;
  aspect-ratio: var(--slot-aspect, 4 / 3) !important;
  border-radius: var(--radius-md, 12px) !important;
  overflow: hidden !important;
  background: var(--bg-elevated, #22242e) !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
  opacity: 0.72;
  filter: saturate(0.88) brightness(0.92);
}

.home-random-reel__tile--winner {
  opacity: 1 !important;
  filter: none !important;
  box-shadow: 0 0 0 2px var(--accent, #fed7a5), 0 10px 28px rgba(0, 0, 0, 0.4) !important;
  transform: scale(1.03);
  z-index: 2;
}

.home-random-reel__media {
  display: none !important;
}

.home-random-reel__name {
  display: none !important;
}

.home-random-reel__img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: inherit !important;
}

@media (max-width: 900px) {
  .home-random-slot__inner {
    padding: 18px 16px 20px !important;
    gap: 14px !important;
  }

  .home-random-slot__title {
    font-size: 1.08rem !important;
    text-align: center;
  }

  .home-random-slot__sub {
    text-align: center;
    margin-bottom: 12px !important;
  }

  .home-random-slot__btn.home-random-slot__btn {
    width: min(100%, 280px);
    margin: 4px auto 0 !important;
    justify-content: center;
  }

  .home-random-slot__reel-col {
    width: 100%;
    margin: 0 -4px;
  }

  .home-random-slot__viewport {
    --random-reel-tile-w: 108px;
    --random-reel-tile-half: 54px;
  }
}

@media (max-width: 640px) {
  .home-random-slot {
    margin-bottom: 22px;
  }

  .home-random-slot__inner {
    padding: 16px 12px 18px !important;
  }

  .home-random-slot__viewport {
    --random-reel-tile-w: 96px;
    --random-reel-tile-half: 48px;
  }

  .home-random-slot__reel-frame {
    padding: 8px 0;
  }

  .home-random-slot__btn.home-random-slot__btn {
    min-height: 46px;
    width: 100%;
    max-width: none;
  }
}

[data-theme="light"] .home-random-slot__shell {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] .home-random-slot__bg {
  background: linear-gradient(145deg, rgba(254, 215, 165, 0.12) 0%, transparent 50%) !important;
}

[data-theme="light"] .home-random-reel__tile {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Лобби (/games/slots): два баннера 1080×300 над категориями, только десктоп */
.lobby-catalog-banners--desktop-only {
  display: none;
}

@media (min-width: 1024px) {
  .lobby-catalog-banners--desktop-only:not([hidden]) {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 0 16px;
  }

  .lobby-catalog-banners__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    width: 100%;
  }

  .lobby-catalog-banners__item {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 1080 / 300;
    background: var(--surface-2, #1e1c18);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.22);
  }

  .lobby-catalog-banners__link,
  .lobby-catalog-banners__inner {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    line-height: 0;
    text-decoration: none;
    color: inherit;
  }

  .lobby-catalog-banners__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .lobby-catalog-banners__copy {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    width: min(52%, 520px);
    padding: 18px 20px 18px 26px;
    pointer-events: none;
    box-sizing: border-box;
  }

  .lobby-catalog-banners__title {
    margin: 0;
    font-size: clamp(17px, 1.55vw, 26px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--accent, #fed7a5);
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.65);
  }

  .lobby-catalog-banners__subtitle {
    margin: 0;
    font-size: clamp(12px, 0.95vw, 15px);
    font-weight: 500;
    line-height: 1.45;
    color: var(--text, #f2f0ec);
    max-width: 42ch;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.55);
  }

  [data-theme="light"] .lobby-catalog-banners__title {
    color: var(--accent-deep, #c9a574);
    text-shadow: 0 1px 8px rgba(255, 255, 255, 0.85);
  }

  [data-theme="light"] .lobby-catalog-banners__subtitle {
    color: var(--text, #2a2620);
    text-shadow: 0 1px 6px rgba(255, 255, 255, 0.75);
  }

  #pageGames .games-page-head .lobby-catalog-banners--desktop-only {
    order: -1;
  }

  #pageGames .games-page-head {
    display: flex;
    flex-direction: column;
  }
}

/* Карусели «Смотреть все»: ровные круглые стрелки (не Unicode ‹ › в шрифте) */
.home-games-block-head {
  align-items: center;
}

.home-games-block-head .home-all-games-link {
  white-space: nowrap;
}

.home-games-block-head .home-all-games-link + .home-strip-nav {
  margin-left: 4px;
  flex-shrink: 0;
}

.home-strip-nav {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.home-strip-nav-btn {
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 0;
  line-height: 1;
  flex-shrink: 0;
  background: var(--bg-card, #282a35) !important;
  border: 1px solid var(--border-strong, rgba(255, 255, 255, 0.12)) !important;
  box-shadow: none !important;
  color: var(--text-muted, #9a9ca8);
}

.home-strip-nav-btn:hover {
  transform: none !important;
  color: var(--text, #f2f0ec);
  border-color: rgba(254, 215, 165, 0.35) !important;
  background: var(--bg-card-hover, #30323e) !important;
  box-shadow: none !important;
}

.home-strip-nav-btn span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.home-strip-nav-btn::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border: solid currentColor;
  border-width: 0 0 2px 2px;
  box-sizing: border-box;
}

.home-strip-nav-btn.home-strip-prev::after {
  transform: rotate(45deg);
  margin-left: 2px;
}

.home-strip-nav-btn.home-strip-next::after {
  transform: rotate(-135deg);
  margin-right: 2px;
}

/* SEO-текст: без серой «карточки» и без градиента в свёрнутом виде */
.home-seo-block {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.home-seo-content {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.home-seo-content.collapsed::after {
  display: none !important;
  content: none !important;
}

.home-seo-content.collapsed {
  --home-seo-prose: rgba(235, 236, 242, 0.92);
  --home-seo-prose-strong: rgba(255, 255, 255, 0.98);
}

[data-theme="light"] .home-seo-content.collapsed {
  --home-seo-prose: var(--text-muted, #6b6e78);
  --home-seo-prose-strong: var(--text, #2a2620);
}
