:root {
  --spinline-bg: #23252b;
  --spinline-surface: #1a1c1e;
  --spinline-surface-soft: #2c2e36;
  --spinline-accent: #2dcc11;
  --spinline-accent-hover: #3ee01f;
  --spinline-violet: #6e5a91;
  --spinline-text: #ffffff;
  --spinline-muted: #c9c5dc;
  --spinline-border: #474b52;
}

body,
.page,
.page__content,
.page__footer {
  background-color: var(--spinline-bg) !important;
}

.header,
.homeCasino,
.homePoker,
.home__container_wrap {
  background-color: var(--spinline-bg) !important;
}

.footer,
.sidebar,
.footer__content {
  background-color: var(--spinline-surface) !important;
}

.button_theme_primary,
.promoCard__button,
.userinfo__registration {
  background: var(--spinline-accent) !important;
  border-color: var(--spinline-accent) !important;
  color: #171a2e !important;
}

.button_theme_primary:hover,
.promoCard__button:hover,
.userinfo__registration:hover {
  background: var(--spinline-accent-hover) !important;
  border-color: var(--spinline-accent-hover) !important;
}

.button_theme_secondary,
.userinfo__signIn {
  background: var(--spinline-violet) !important;
  border-color: var(--spinline-violet) !important;
  color: #fff !important;
}

.header__logo .logo__desktopIcon {
  height: auto !important;
  max-height: 58px !important;
  width: 160px !important;
}

.header__logo .logo__mobileIcon {
  height: auto !important;
  max-height: 42px !important;
  width: 116px !important;
}

.categoriesBlock__item,
.homeBlock__viewAllCard,
.homeCasino__providers .providers__block,
.bonusCard,
.promoCard {
  background-color: var(--spinline-surface) !important;
  border-color: var(--spinline-border) !important;
}

.categoriesBlock__item:hover,
.homeCasino__providers .providers__block:hover {
  border-color: var(--spinline-accent) !important;
}

.promoBlock .scrollSLider__list {
  align-items: stretch;
}

.promoBlock .scrollSLider__slide {
  display: flex;
}

.promoBlock .promoCard {
  align-self: stretch;
}

.promoCard__imageWrapper {
  flex: 0 0 auto;
  overflow: hidden;
}

.promoCard__image {
  height: 100%;
  object-fit: cover;
}

.footer__content {
  color: var(--spinline-muted) !important;
  border-radius: 18px;
  margin: 28px auto;
  max-width: 1220px;
  padding: 34px !important;
}

.footer__content h1,
.footer__content h2,
.footer__content h3 {
  color: var(--spinline-text) !important;
  scroll-margin-top: 92px;
}

.footer__content h1 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.15;
}

.footer__content h2 {
  margin-top: 36px;
}

.footer__content a {
  color: var(--spinline-accent) !important;
}

.footer__content table {
  border-collapse: collapse;
  display: block;
  margin: 22px 0;
  max-width: 100%;
  overflow-x: auto;
  width: 100%;
}

.footer__content th,
.footer__content td {
  border: 1px solid var(--spinline-border) !important;
  min-width: 145px;
  padding: 12px 14px !important;
  text-align: left;
}

.footer__content th {
  background: var(--spinline-violet) !important;
  color: #fff !important;
}

.footer__content tr:nth-child(even) td {
  background: var(--spinline-surface-soft) !important;
}

.footer__content blockquote {
  background: var(--spinline-surface-soft);
  border-left: 4px solid var(--spinline-accent);
  border-radius: 0 10px 10px 0;
  margin: 24px 0;
  padding: 18px 22px;
}

.spinline-toc {
  background: var(--spinline-surface-soft);
  border: 1px solid var(--spinline-border);
  border-radius: 14px;
  margin: 26px 0;
  padding: 20px 24px;
}

.spinline-page-hero {
  margin: 24px 0 28px;
}

.spinline-page-hero img {
  border: 1px solid var(--spinline-border);
  border-radius: 16px;
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.spinline-toc h2 {
  margin-top: 0;
}

.spinline-toc ul {
  columns: 2;
  margin-bottom: 0;
}

/* Preserve the homepage hero artwork's native proportions. */
.carousel_mainPromo .carousel__slideImageContainer {
  overflow: hidden;
}

.carousel_mainPromo .carousel__slideImageContainer img {
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
  width: 100% !important;
}

@media (max-width: 700px) {
  .footer__content {
    border-radius: 0;
    margin: 14px 0;
    padding: 22px 16px !important;
  }

  .spinline-toc ul {
    columns: 1;
  }

  .spinline-page-hero {
    margin: 18px 0 22px;
  }

  .spinline-page-hero img {
    border-radius: 10px;
  }
}
