.background {
  position: fixed;
  z-index: -1;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  background: var(--body_bg);
}

.app-guide{
  padding: 10px;
}
@media (max-width: 1000px){
  .background{
    background-color: #010318;
    box-shadow: inset -40px 0 80px 0 rgba(255, 2, 184, .08), inset 0 0 100px 0 rgba(23, 116, 255, .15);
  }
}
.menu-button{
  box-shadow: inset 0 -6px 8px hsla(0, 0%, 100%, .25), inset 0 10px 8px hsla(0, 0%, 100%, .25);
}

.home-block{
  border-radius: 30px;
  border: 1px solid rgba(84, 84, 115, .5);
  box-shadow: inset 0 0 120px 0 rgba(23,171,255,.2);
  background: var(--home_block_bg);
  padding: 30px;
}

@media (max-width: 1000px) {
  .home-block{
    padding: 0;
    border: none;
    background: none;
    box-shadow: none;
  }
}
.home-block__row:not(:last-child){
  margin-bottom: 30px;
}
.page .profile{
  border-radius: 30px;
  border: 1px solid rgba(84, 84, 115, .5);
  box-shadow: inset 0 0 120px 0 rgba(23, 171, 255, .2);
  background: var(--home_block_bg);
  padding: 30px;
  gap: 30px;
  max-width: none;
}

.page .profile__content{
    padding-left: 30px;
    padding-right: 0;
}

.page .profile__right{
  border-left: 2px solid hsla(0, 0%, 100%, .1);
}

@media (max-width: 1000px) {
  .page .profile{
    padding: 0;
    background: none;
    box-shadow: none;
    border: none;
  }

  .page .profile__right{
    border-left: none;
  }
  .page .profile__content{
    padding: 0;
  }
}

.page .profile__menu{
  background: none;
  padding: 0;
}

.page .profile__menu .menu__row{
  padding: 0 10px;
  border-radius: 15px;
  font-size: 14px;
  font-weight: 500;
  min-height: 56px;
  display: flex;
  align-items: center;
  text-align: left;
  gap: 10px;
  border: 1px solid hsla(0, 0%, 100%, .1);
  background: hsla(0, 0%, 100%, .05);
  color: #545473;
  transition: color .2s linear;
  position: relative;
  overflow: hidden;
  transition: color .2s linear;
}

.page .profile__menu .menu__row:hover{
  color: #fff;
}

.page .profile__menu .menu__row.active{
  box-shadow: inset 0 -6px 8px hsla(0, 0%, 100%, .25), inset 0 10px 8px hsla(0, 0%, 100%, .25);
  background: linear-gradient(79deg, #00a1fe, #0053c7);
  color: #fff;
}


.page .settings div.input-block input, 
.page .settings div.input-block select{
  border: 1px solid hsla(0,0%,100%,.1);
}

.page .profile-info{
  border-radius: 15px;
  background-color: #0f1022;
  padding: 14px 20px;
  border: 1px solid hsla(0, 0%, 100%, .1);
}

.page .profile .button{
  box-shadow: inset 0 -6px 8px hsla(0, 0%, 100%, .25), inset 0 10px 8px hsla(0, 0%, 100%, .25);
}

.page .promocode{
  background: none;
  padding: 0;
}

.page .promocode .promocode__input{
  width: 100%;
}

.page .tab_selector,
.page .page__title{
  border-bottom: 1px solid hsla(0, 0%, 100%, .1);
}


.page .home_casino_banners .home_casino_banner{
  border-radius: 22px;
  overflow: hidden;
}

.page .home_casino_banners .home_casino_banner img{
  width: 100%;
}

.page .home-block__slider{
  background: none;
  padding: 0;
}

.page .home_providers .swiper-slide .provider,
.page .home_sports .swiper-slide .sport{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: rgba(193, 197, 235, .15);
  min-width: 185px;
  min-height: 101px;
  text-align: center;
  border-radius: 20px;
}

.page .home_providers .swiper-slide .provider,
.page .home_sports .swiper-slide .sport,
.page .home_wins .casino-win__container,
.page .home_casino_banners .home_casino_banner,
.page .home_events .event-wrap,
.page .home_leagues .league{
  border: 1px solid transparent;
  transition: border-color .15s linear;
}

.page .home_providers .swiper-slide .provider:hover,
.page .home_sports .swiper-slide .sport:hover,
.page .home_wins .casino-win__container:hover,
.page .home_casino_banners .home_casino_banner:hover,
.page .home_events .event-wrap:hover,
.page .home_leagues .league:hover{
  border-color: #13a0ff;
}

.page .home_providers .swiper-slide .provider .provider__image,
.page .home_sports .swiper-slide .sport .sport__image{
  margin-bottom: 10px;
}
.page .home_providers .swiper-slide .provider .provider__name,
.page .home_sports .swiper-slide .sport .sport__name{
  font-weight: 600;
}

.page .home-block__slider .swiper-slide a > div:last-child{
  flex: inherit;
}

.page .home_providers .swiper-slide,
.page .home_sports .swiper-slide{
  height: auto;
  width: auto;
}

.page .home-block__slider .swiper-slide img{
  margin-right: 0;
  min-width: 40px;
  min-height: 40px;
}


.home-block .swiper-buttons{
  display: flex;
  align-items: center;
  gap: 8px;
}

.home-block .swiper-buttons .swiper-button-next, 
.home-block .swiper-buttons .swiper-button-prev{
  display: flex;
  align-items: center;
  justify-content: center;
  position: static;
  width: 32px;
  height: 32px;
  border-radius: 50px;
  background: linear-gradient(79deg, #00a1fe, #0053c7);
  margin: 0;
}
.home-block .swiper-buttons .swiper-button-next:after, 
.home-block .swiper-buttons .swiper-button-prev:after{
  font-size: 14px!important;
  font-weight: 600!important;
  color: #fff;
}


.page-container{
  display: flex;
  gap: 16px;
  padding: 16px;
  padding-top: 0;
}

@media (max-width: 1000px) {
  .page-container{
    display: block;
    padding: 10px;
  }
  .header__content{
    padding: 0 10px;
  }
}

.content{
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  padding: 0;
  min-width: 0;
}

.content-wrap{
  margin-bottom: 30px;
}

.sidebar{
  display: flex;
  flex-direction: column;
  gap: 15px;
}

@media (max-width: 1000px){
  .sidebar{
    display: none;
  }
}

.sidebar .sidebar__button{
  position: relative;
  border-radius: 16px;
  padding: 2px;
}

.sidebar .sidebar__button .sidebar__button--content{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 61px;
  height: 61px;
  transition: color .2s linear;
  color: #545473;
  background: #090b1a;
  border-radius: 14px;
  transition: color .2s linear;
}
.sidebar .sidebar__button::before,
.sidebar .sidebar__button::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: #090b1a;
  border-radius: 16px;
}

.sidebar .sidebar__button::before{
  background: #090b1a;
}
.sidebar .sidebar__button::after{
  opacity: 0;
  background: linear-gradient(rgba(43, 128, 255, .1), #007bff);
  transition: opacity .2s linear;
}


.sidebar .sidebar__button:hover .sidebar__button--content{
  color: #98dbff;
}

.sidebar .sidebar__button:hover::after{
  opacity: 1;
}

.sidebar .sidebar__button.active{
  box-shadow: 0 -1px 5px 0 rgba(19, 160, 255, .2);
}

.sidebar .sidebar__button.active .sidebar__button--content{
  background: #063E6E;
  color: #98dbff;
}

.sidebar .sidebar__button.active::after{
  opacity: 1;
}

.sidebar__separator{
  width: 100%;
  height: 2px;
  background: rgba(84,84,115,.5);
  border-radius: 1px;
}
.sidebar .sidebar__button svg,
.sidebar .sidebar__button img{
  width: 30px;
  height: 30px;
}

.page .home_events .event-wrap .event__more{
  background: linear-gradient(82deg, #083386, #2174f1);
  box-shadow: inset 0 -6px 8px hsla(0, 0%, 100%, .25), inset 0 10px 8px hsla(0, 0%, 100%, .25);
}

.header__content{
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
}

.header__content.mobile{
  display: none;
}

@media (max-width: 1000px) {
    .header__content.desktop {
      display: none;
    }
    .header__content.mobile{
      display: flex;
    }
}

.header__content .header__links{
  display: flex;
  align-items: center;
  margin: 0 auto;
  height: 100%;
}

.header__content .header__left,
.header__content .header__right{
  display: flex;
  align-items: center;
}

.header__content .header__right{
  justify-content: flex-end;
}

.header__content .header__links > .header__link {
  position: relative;
  text-decoration: none;
  color: var(--header_color);
  font-weight: var(--menu_weight);
  font-size: 14px;
  padding: 0 10px;
  height: calc(100% - 2px);
  display: flex;
  align-items: center;
  text-wrap: nowrap;
  transition: color .2s linear;
}

.header__content .header__links > .header__link:before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 0%;
  height: 6px;
  left: calc(50% + 1px);
  transform: translateX(calc(-50% + 1px));
  opacity: 0;
  background-color: #13a0ff!important;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  box-shadow: 0 -2px 15px 0 #13a0ff;
  transition: opacity .2s linear;
}
.header__content .header__links > .header__link.active:before {
    width: calc(100% + 2px);
    opacity: 1;
}

.header__content .header__links > .header__link:not(.logo):not(.modal_link):hover{
  color:#13a0ff
}

.header__content .header__links > .header__link.active{
  color:#13a0ff
}


.header__content .sidebar{
  margin-right: 15px;
}

.header__content .logo{
  border-radius: 0;
  margin-left: 0!important;
  margin-right: 0;
  padding-left: 10px;
  padding-right: 0;
}

@media (max-width: 1000px) {
  .header__content .header__user{
    margin-left: 0;
  }

  .header__content .header__balance{
    background: transparent;
    min-width: 0;
    font-size: 16px;
  }
  .header__content .header__balance .menu_balance{
    min-width: 0;
  }
}

.header__content .header__user,
.header__content .header__notify{
  background-color: #1b1d39;
}
.header__content > .header__link{
  transition: color .2s linear;
}
.header__content > .header__link:hover{
  color:#13a0ff
}
.header__content > .header__link:before{
  opacity: 0;
  background-color: #13a0ff!important;
  height: 6px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  box-shadow: 0 -2px 15px 0 #13a0ff;
  transition: opacity .2s linear;
}

.header__content{
  height: 60px;
}

/* ===========================================================================
 * ВЫКЛЮЧЕНО: тёмная палитра модалок (часть 1 из 2).
 *
 * Здесь лежат исходные переопределения - фон и текст модалок, кошелёк,
 * поля ввода, вкладки, кнопка закрытия. Без них модалки возвращаются
 * к светлому виду из modal.css и main.css.
 *
 * Чтобы вернуть - удалить строку `@media not all {` ниже и парную
 * закрывающую `}` перед правилом `.casino-layout`.
 *
 * Все классы отсюда встречаются только в pages/include/modals.php, то есть
 * исключительно внутри модалок: за их пределами выключение ни на что не влияет.
 * =========================================================================== */
@media not all {

.modal,
.reg-bonus,
.reg-modal{
  background: #0b0f28!important;
  color: #fff;
}

button.reg-bonus__cancel{
  background: #000!important;
  border: none!important;
  color: #fff!important;
}

.modal .reg-modal__form{
  background: #0b0f28!important
}
.modal-seperator{
  background: rgb(229 229 229 / 12%);
}

.bonus-details .bonus-details__block{
  border-color: rgb(229 229 229 / 12%);
}
.modal button[type="submit"],
.modal .bonus-details__button{
  color: #fff;
  background: linear-gradient(82deg, #689cff, #2174f1);
  box-shadow: inset 0 -6px 8px hsla(0, 0%, 100%, .25), inset 0 10px 8px hsla(0, 0%, 100%, .25);
}
div#balance .balance__row,
div.wallet-modal__method{
  background-color: #1b1d39;
}

.balance__row{
  color: #fff;
}

.modal_head{
  color: #fff;
}

.wallet-modal{
  --wallet-ink: #fff;
  --wallet-soft: #1b1d39;
  --wallet-muted: #9aa0c4;
}
.wallet-modal__field-note b{
  color: #e9ebf5;
}

.wallet-modal__input-error{
  color: #ff5959;
}

.modal-bonuses--title{
  color: #c7cbe8;
}

.modal-bonus__product{
  color: #9aa0c4;
}

.modal-bonus__details svg{
  fill: #989ec1;
}

button.modal-bonus__cancel{
  background: #000!important;
  color: #fff!important;
}

.modal-bonus{
  background: rgb(20, 26, 61);
  padding: 10px;
  border-radius: var(--secondary_radius);
}

.wallet-modal__receive{
  background: transparent;
}

#balance .wallet-modal__back{
  color: #c7cbe8!important;
}

div#balance .balance__row .balance__row--left div:first-child{
  color: #9aa0c4;
}

div#balance .tab_selector{
  border-bottom: 1px solid rgb(207 207 207 / 12%);
}

div#balance .tab_selector a.act{
  color: #fff;
  border-bottom: 1px solid #ffffff;
}

div.input-block input, 
div.input-block select,
.modal input{
  border: 1px solid hsla(0, 0%, 100%, .1);  
  background-color: #1b1d39;
  color: #cecfec;
}

div.input-block input:focus, div.input-block select:focus, div.input-block input:focus + span.placeholder, div.input-block select:focus + span.placeholder{
  color: #cecfec;
}

.balance_available{
  background: #1b1d39;
  color: #fff;
}

.modal_head a{
  border: 1px solid hsla(0, 0%, 100%, .06);
  background: linear-gradient(-83deg, #0b0f28, #090b1a);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' fill='none' viewBox='0 0 9 9'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.087' d='M8.046 1 1 8.046M1 1l7.046 7.046'%3E%3C/path%3E%3C/svg%3E");
}

}
/* конец выключенного блока - часть 1 */


.casino-layout{
  width: 100%;
}
.casino-content__main{
  margin: 0!important;
  padding: 0!important;
}

.favorites{
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .06);
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  padding: 7px;
  border-radius: var(--secondary_radius);
}

.favorites img{
  width: 100%;
}
.casino_navigation--first{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 400px;
}
.casino-menu__search{
  width: 100%;
}
.casino-menu__search input{
  width: 100%;
  margin: 0;
  border-radius: var(--secondary_radius);
  height: 36px;
}

.casino-menu__search::after{
  top: 8.5px;
  left: 9px;
}
.casino-menu__search{
  padding: 0;
}

.casino_navigation{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
}

@media (max-width: 700px) {
  .casino_navigation{
    flex-direction: column;
  }

  .casino-dropdown{
    max-width: none;
  }

  .casino_navigation--first{
    max-width: none;
  }
}

.casino_head{
  display: flex;
  align-items: center;
  gap: 5px;
}

.casino_head img{
  width: 24px;
  height: 24px;
}
.casino-menu__shadow::before{
  display: none;
}

.casino_mobile_nav_btns{
  background: rgba(255, 255, 255, .06)
}

.casino_mobile_nav .casino-menu__search input{
  background: rgba(255, 255, 255, .06)
}

.game_interface{
  border-radius: var(--main_radius);
  background: rgba(255, 255, 255, .04);
  height: 40px;
}

.game_interface > div{
  background: transparent;
}


.casino-menu__search input{
  background: rgba(255, 255, 255, .06);
}

.casino-container{
  border-radius: 30px;
  border: 1px solid rgba(84, 84, 115, .5);
  box-shadow: inset 0 0 120px 0 rgba(23, 171, 255, .2);
  background: var(--home_block_bg);
  padding: 30px;
}

@media (max-width: 1000px){
  .casino-container{
    background: none;
    box-shadow: none;
    border: none;
    padding: 0;
  }
}

.casino-games-container__list{
  grid-template-columns: repeat(8, 1fr);
}

@media (max-width: 1600px) {
    .casino-games-container__list {
      grid-template-columns: repeat(6, 1fr);
    }
}

@media (max-width: 1200px) {
    .casino-games-container__list {
      grid-template-columns: repeat(5, 1fr);
    }
}

@media (max-width: 1000px) {
    .casino-games-container__list {
      grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 900px) {
    .casino-games-container__list {
      grid-gap: 10px;
      grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 500px) {
    .casino-games-container__list {
        grid-template-columns: repeat(2, 1fr);
    }
}

.bonuses-list .bonus, .promotions-list .promotion{
  background: transparent;
  border: 1px solid rgba(84, 84, 115, .5);
  box-shadow: inset 0 0 120px 0 rgba(23, 171, 255, .2);
}

.footer{
  border-radius: 30px;
  border: 1px solid rgba(84, 84, 115, .5);
  box-shadow: inset 0 0 120px 0 rgba(23, 171, 255, .2);
  background: var(--home_block_bg);
  padding: 30px;
  margin-top: auto;
}

.footer_content{
  display: block;
  width: min-content!important;
  margin: 0 auto!important;
}

.footer_content .footer__links{
  display: flex!important;
  flex-wrap: wrap!important;
  align-items: center!important;
  justify-content: center!important;
  gap: 0!important;
  margin: 0!important;
  padding-bottom: 30px;
  margin-bottom: 0!important;
}

.footer_content .footer__links:first-child{
  border-bottom: 2px solid rgba(84,84,115,.2);
}
.footer_content .footer__links:not(:first-child),
.footer_content .footer__apps{
   padding-top: 30px;
}
.footer_content .footer__links a{
  width: auto!important;
  padding: 0 20px!important;
  font-weight: 600;
  font-size: 16px;
  color: var(--footer_color);
  transition: color .2s linear;
}

.footer_copy{
  padding: 0;
}
.footer_content .footer__links a svg{
  fill: var(--footer_color)!important;
}

.footer_copy{
  font-size: 12px;
}

@media (max-width: 1000px) {
  .footer{
    margin-bottom: 85px;
    background: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
    border-radius: 0;
  }

  .footer .footer__content{
    padding: 0;
  }
}

.open_menu{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 25px;
  flex-shrink: 0;
  cursor: pointer;
}

.open_menu svg.icon{
  margin-right: 0;
}

.panel,
.push-subscription-panel__content{
  margin-top: 85px;
}

@media (max-width: 767px) {
    .panel,
    .push-subscription-panel__content{
      margin-top: max(0px, env(safe-area-inset-top));
    }
}
/* --- каркас страниц ------------------------------------------------------ */
/* Шапка, боковое меню и подвал живут в layout, поэтому .page-container есть
   всегда, а страницы без сайдбара отключают его модификатором. */
.page--no-sidebar .sidebar{
  display: none;
}

.page--no-sidebar .page-container{
  padding: 0;
  gap: 0;
}

.page--no-wrap .content-wrap{
  margin-bottom: 0;
}

/* Полоска прогресса на время pjax-перехода */
.pjax-loading::after{
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  height: 2px;
  width: 100%;
  z-index: 2147483647;
  background: var(--accent, #fff);
  transform-origin: 0 50%;
  animation: pjax-progress 2s ease-out forwards;
}

@keyframes pjax-progress{
  0%   { transform: scaleX(0); opacity: 1; }
  60%  { transform: scaleX(.7); opacity: 1; }
  100% { transform: scaleX(.95); opacity: 1; }
}

/* --- сайдбар на странице спорта ------------------------------------------ */
/* Виджет рендерит очень длинную страницу, поэтому меню прилипает к верху и
   прокручивается само. Полоса прокрутки скрыта во всех движках. */
.sport .sidebar{
  position: sticky;
  top: 10px;
  align-self: flex-start;
  max-height: calc(100vh - 20px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.sport .sidebar::-webkit-scrollbar{
  width: 0;
  height: 0;
  display: none;
}

/* ===========================================================================
 * ВЫКЛЮЧЕНО: тёмная палитра модалок (часть 2 из 2).
 *
 * Чтобы вернуть тёмные модалки - удалить строку `@media not all {` ниже
 * и парную закрывающую `}` в самом конце файла. Больше ничего менять не надо.
 *
 * `@media not all` не совпадает никогда, поэтому всё внутри разбирается
 * браузером, но не применяется. Обычный комментарий тут не подходит:
 * внутри есть свои /* ... *\/, а они не вкладываются друг в друга.
 * =========================================================================== */
@media not all {

/* ───────────────────────────────────────────────────────────────────────────
 * Тёмная палитра модалок.
 *
 * modal.css и casino.css написаны под светлую тему, этот файл - слой тёмных
 * переопределений. Значения вынесены в токены, чтобы перекраска не расползалась
 * по десяткам правил: те же цвета уже используются выше вручную (#0b0f28 как
 * фон модалки, #1b1d39 под поля и карточки, #9aa0c4 под приглушённый текст).
 *
 * Токены объявлены на :root, потому что ими пользуются и стили страниц,
 * которые подключаются позже - casino.css и инлайновый блок в pages/bonuses.php.
 * ───────────────────────────────────────────────────────────────────────── */
/* Базовый цвет текста в модалках.
 *
 * Выше в этом файле у `.modal` уже стоит color: #fff, но специфичность там
 * (0,1,0), а в modal.css открытая модалка описана как `.modal.is-open` с
 * color: #000 - это (0,2,0), и побеждало оно. Фон не страдал только потому,
 * что у него !important.
 *
 * В итоге любой текст без собственного цвета наследовал чёрный: названия игр
 * и провайдеров в модалке поиска, например, рисовались почти невидимыми.
 * Заголовки и подписи выглядели нормально лишь потому, что им цвет назначен
 * явно - это и сбивало с толку при поиске причины.
 */
.modal.is-open{
  color: var(--modal-ink);
}

:root{
  --modal-bg: #0b0f28;
  --modal-surface: #1b1d39;
  --modal-surface-alt: #242748;
  --modal-ink: #fff;
  --modal-ink-soft: #c7cbe8;
  --modal-muted: #9aa0c4;
  --modal-border: hsla(0, 0%, 100%, .1);
  --modal-accent: #2174f1;
  --modal-accent-soft: #689cff;
}

/* ── Карточка бонуса ────────────────────────────────────────────────────────
 * Этими же классами рисуются модалки кэшбэка и бонусов в кошельке, так что
 * перекраска здесь закрывает сразу три места.
 */
.modal_content.bonus-modal__content,
.modal .bonus-modal__footer{
  background: var(--modal-bg);
}

.modal .bonus-modal__footer{
  border-top-color: var(--modal-border);
}

.modal .bonus-modal__summary-card,
.modal .bonus-modal__accordion-item,
.modal .bonus-modal__timer-block,
.modal .bonus-modal__empty{
  background: var(--modal-surface);
}

.modal .bonus-modal__title,
.modal .bonus-modal__summary-value,
.modal .bonus-modal__timer-block,
.modal .bonus-modal__accordion-head,
.modal .bonus-modal__detail-value,
.modal .bonus-modal__available span{
  color: var(--modal-ink);
}

.modal .bonus-modal__meta{
  color: var(--modal-ink-soft);
}

.modal .bonus-modal__summary-note,
.modal .bonus-modal__timer-label,
.modal .bonus-modal__timer-separator,
.modal .bonus-modal__accordion-icon,
.modal .bonus-modal__detail-label,
.modal .bonus-modal__empty{
  color: var(--modal-muted);
}

.modal .bonus-modal__accordion-item.is-open,
.modal .bonus-modal__accordion-item.block{
  border-color: var(--modal-border);
}

.modal .bonus-modal__divider{
  background: var(--modal-border);
}

.modal .bonus-modal__badge{
  background: var(--modal-accent);
  color: var(--modal-ink);
}

.modal .bonus-modal__rules-link{
  color: var(--modal-accent-soft);
}

/* Шапка, когда у бонуса нет картинки: пастельный градиент из modal.css
 * на тёмном фоне выглядит инородно. */
.modal_head.bonus-modal__head{
  background: linear-gradient(135deg, var(--modal-surface) 0%, var(--modal-bg) 100%);
}

/* Описание приходит из админки готовым HTML, поэтому цвет снимаем со всех
 * тегов разом - иначе вложенные <p>/<strong> останутся чёрными. */
.modal .bonus-modal__desc,
.modal .bonus-modal__desc h1,
.modal .bonus-modal__desc h2,
.modal .bonus-modal__desc h3,
.modal .bonus-modal__desc p,
.modal .bonus-modal__desc a,
.modal .bonus-modal__desc li,
.modal .bonus-modal__desc span,
.modal .bonus-modal__desc div,
.modal .bonus-modal__desc strong,
.modal .bonus-modal__desc em,
.modal .bonus-modal__desc b,
.modal .bonus-modal__desc i,
.modal .bonus-modal__desc u{
  color: var(--modal-ink-soft);
}

/* ── Модалка подтверждения ──────────────────────────────────────────────────
 * В modal.css рамка кнопки отмены стоит как var(--border, #e0e0e0), а
 * переменной --border в теме нет - срабатывал светлый фолбэк.
 */
.modal.confirm-modal .confirm-modal__btn--cancel{
  border-color: var(--modal-border);
}

/* ── Модалка поиска и провайдеров ───────────────────────────────────────────
 * Свои цвета в casino.css разъезжались с остальными модалками: поле ввода
 * #252b35 уходило в серо-синий, карточки провайдеров рисовались полупрозрачным
 * серым поверх фиолетового фона, подписи #666/#999 почти не читались, а
 * активная вкладка в main.css и вовсе покрашена в #000.
 *
 * Селекторы с #casino-search дают специфичность (1,1,0) против (0,1,0) в
 * casino.css - он подключается позже этого файла, и без префикса по id
 * переопределения бы не сработали.
 */
div#casino-search .tab_selector{
  border-bottom: 1px solid var(--modal-border);
}

div#casino-search .tab_selector a{
  color: var(--modal-muted);
}

/* Повторяет то, что сделано выше для #balance, чтобы две шапки с вкладками
 * выглядели одинаково. */
div#casino-search .tab_selector a.act{
  color: var(--modal-ink);
  border-bottom: 1px solid var(--modal-ink);
}

#casino-search .casino-search__input{
  background: var(--modal-surface);
  border: 1px solid var(--modal-border);
  color: var(--modal-ink);
}

#casino-search .casino-search__input::placeholder{
  color: var(--modal-muted);
}

#casino-search .casino-search__provider-card{
  background: var(--modal-surface);
  border: 1px solid var(--modal-border);
}

#casino-search .casino-search__provider-card:hover{
  background: var(--modal-surface-alt);
}

#casino-search .casino-search__section-title,
#casino-search .casino-search__provider-name{
  color: var(--modal-ink-soft);
}

#casino-search .casino-search__loading{
  color: var(--modal-muted);
}

/* ── Полоса прокрутки внутри модалок ────────────────────────────────────────
 * modal.css задаёт белый трек (--sb-track-color: #ffffff) - на тёмном фоне
 * это светлая полоса вдоль правого края.
 */
.modal .modal_content{
  --sb-track-color: var(--modal-surface);
  --sb-thumb-color: var(--modal-muted);
}

/* ── Модалка акции на странице бонусов ──────────────────────────────────────
 * Её стили лежат в инлайновом <style> внутри pages/bonuses.php, а он
 * рендерится в <body> уже после всего head-CSS. При равной специфичности
 * инлайновый блок выигрывает, поэтому здесь !important - иначе текст акции
 * остался бы чёрным на тёмном фоне, то есть нечитаемым.
 *
 * Текст приходит из админки готовым HTML, поэтому цвет снимаем со всех тегов
 * разом: иначе вложенные <p>/<strong> сохранят свой чёрный.
 */
.modal .promotion-modal__text,
.modal .promotion-modal__text h1,
.modal .promotion-modal__text h2,
.modal .promotion-modal__text h3,
.modal .promotion-modal__text p,
.modal .promotion-modal__text a,
.modal .promotion-modal__text li,
.modal .promotion-modal__text span,
.modal .promotion-modal__text div,
.modal .promotion-modal__text strong,
.modal .promotion-modal__text em,
.modal .promotion-modal__text b,
.modal .promotion-modal__text i,
.modal .promotion-modal__text u{
  color: var(--modal-ink-soft) !important;
}

/* casino.css задаёт скроллбар через `.modal *` со светлыми #e7e7e7/#b5b5b5, то есть
 * переопределяет переменные на КАЖДОМ элементе внутри модалки. Из-за этого полоса
 * оставалась светлой на всех прокручиваемых блоках страницы казино, включая
 * .casino-search__results - у него свой overflow-y, и правила из modal.css,
 * написанные под .modal_content, до него не доходили.
 *
 * Подменяем только значения: механика отрисовки остаётся их, поэтому правило
 * работает для любого прокручиваемого блока в любой модалке, а не для двух
 * известных. `div.modal` даёт специфичность (0,1,1) против (0,1,0) - casino.css
 * подключается позже этого файла, и без этого он бы выиграл. */
div.modal *{
  --sb-track-color: var(--modal-surface);
  --sb-thumb-color: var(--modal-muted);
}

}
/* конец выключенного блока - часть 2 */
