/* ===== BASE AND ABOVE-FOLD ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:120px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#0e0a1f;background:#eceffa;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-width:360px;text-rendering:optimizeLegibility}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:0;background:none}
ul,ol{list-style:none}
img{max-width:100%;height:auto;vertical-align:top}
h1,h2,h3{font-weight:800;line-height:1.15;letter-spacing:0}
:focus{outline:0}
:focus-visible{outline:2px solid #6245d9;outline-offset:3px;border-radius:4px}
[hidden]{display:none!important}
.skip-to-content{position:absolute;left:-9999px;top:0;z-index:1001;padding:12px 18px;background:#2a1468;color:#fff;border-radius:0 0 8px 0;font-weight:700;font-size:14px}
.skip-to-content:focus{left:0}
.wrapper{min-height:100vh;position:relative;padding-top:95px}
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:101;pointer-events:none}
.reading-progress__bar{height:100%;width:100%;background:linear-gradient(90deg,#fccf59,#ffb25b);transform:scaleX(0);transform-origin:left;transition:transform .15s linear}
.header{position:fixed;top:0;left:0;right:0;z-index:100}
.header__main{padding:13px 0;background:#2a1468}
.header__inner{max-width:1240px;width:100%;margin:0 auto;padding:0 20px;display:flex;align-items:center}
.main-nav{margin-right:auto}
.main-nav__list{display:flex;align-items:center;margin:0 -10px}
.main-nav__list li{font-weight:600;font-size:15px;margin:0 10px;position:relative}
.main-nav__list li a{color:#fff;display:inline-flex;align-items:center;padding:8px 4px;min-height:44px}
.main-nav__icon{display:inline-flex;align-items:center;justify-content:center;margin-right:7px;flex-shrink:0;color:#ffd96e;width:18px;height:18px}
.header-link{display:flex;align-items:center;justify-content:center;padding:0 20px;background:linear-gradient(180deg,#fccf59,#ffb25b);height:44px;border-radius:10px;color:#000;font-size:14px;font-weight:700;margin-left:6px;white-space:nowrap}
.main-nav__opener{display:none;margin-left:20px;width:44px;height:44px;align-items:center;justify-content:center;border-radius:8px}
.main-stream{padding:28px 16px;background:linear-gradient(90deg,#280d4c,#451b70 60%,#32135b);margin-bottom:28px;position:relative;overflow:hidden}
.main-stream__inner{max-width:1280px;width:100%;margin:0 auto;display:flex;align-items:stretch;gap:20px;position:relative;z-index:1}
.main-stream__stream-box{position:relative;aspect-ratio:21/9;overflow:hidden;border-radius:16px;background:#000;box-shadow:0 14px 50px rgba(0,0,0,.4);flex:1 1 60%;min-width:0;max-height:380px}
.main-stream__stream-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.main-stream__image{width:100%;height:100%;object-fit:cover;display:block}
.main-stream__video-trigger{position:absolute;inset:0;display:block;color:#fff;overflow:hidden}
.main-stream__video-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.54))}
.main-stream__video-play{position:absolute;left:50%;top:50%;width:82px;height:82px;border-radius:50%;transform:translate(-50%,-50%);background:linear-gradient(180deg,#ffe489,#ffb25b);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px rgba(0,0,0,.35)}
.main-stream__video-play::before{content:"";width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:18px solid #0b0b10;margin-left:5px}
.main-stream__video-badge{position:absolute;left:18px;top:18px;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:999px;background:rgba(10,8,18,.72);font-size:12px;font-weight:800;text-transform:uppercase}
.main-stream__video-api{position:absolute;left:18px;right:18px;bottom:18px;font-size:12px;font-weight:700;color:rgba(255,255,255,.86);text-shadow:0 1px 2px rgba(0,0,0,.4)}
.main-stream__content-box{border-radius:16px;padding:24px 28px;background:#1f0b44;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:10px;box-shadow:0 14px 40px rgba(0,0,0,.3);flex:1 1 40%;min-width:0}
.main-stream__about-title{font-weight:800;font-size:clamp(30px,3vw,42px);line-height:1.05;margin-bottom:10px;color:#fff}
.page-article__intro>p{max-width:1142px;margin:14px auto;padding:0 16px;font-size:16px;line-height:1.7;color:#2c2740}
.page-article__intro>p:first-of-type{font-size:17px;line-height:1.65;color:#1a1a2e;font-weight:500;margin-top:24px}
@media (max-width:1023px){.main-nav{display:none}.logo{margin-right:auto}.main-nav__opener{display:flex}}
@media (max-width:991px){.main-stream__inner{flex-direction:column;gap:12px}.main-stream__stream-box{aspect-ratio:16/9;max-height:none;flex:1 1 100%}.main-stream__content-box{flex:1 1 100%;max-height:none;padding:18px}.main-stream__about-title{font-size:32px}}
@media (max-width:768px){.wrapper{padding-bottom:80px}.logo__image{width:52px;height:52px}}

/* ===== HEADER ADDITIONAL ===== */
.main-nav__list li.yellow:hover > a { color: #f3c82e; }
.main-nav__list li.menu-item-has-children > a::after {
  content: "▾"; font-size: 10px; margin-left: 6px; color: #fff;
  transition: transform 0.2s;
}
.main-nav__list li.menu-item-has-children:hover > a::after { transform: rotate(180deg); }

.nav-icon-app      { color: #7dd3c0; }
.nav-icon-bonuses  { color: #4cc94e; }
.nav-icon-stats    { color: #ffc847; }
.nav-icon-strategy { color: #6580ff; }
.nav-icon-reviews  { color: #b386ff; }
.main-nav__list li:hover .main-nav__icon { transform: scale(1.15); }

.logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.logo__image {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: 8px;
}

/* ===== HERO ADDITIONAL ===== */
.main-stream__live { display: flex; align-items: center; gap: 6px; font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.main-stream__video-badge::before,
.main-stream__live::before {
  content: "";
  display: inline-block; width: 10px; height: 10px;
  background: var(--color-red); border-radius: 100%;
  animation: pulseDot 1.4s infinite;
  flex: 0 0 auto;
}
@keyframes pulseDot { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } }

.main-stream__count { display: flex; align-items: center; gap: 6px; font-weight: 600; font-size: 12px; transition: opacity 0.2s; font-variant-numeric: tabular-nums; min-width: 5ch; }
.main-stream__count::before { content: ""; width: 11px; height: 11px; border-radius: 50%; background: #cacbdc; box-shadow: 7px 4px 0 -2px #cacbdc; }

.main-stream__about-text { font-weight: 600; font-size: 15px; }
.main-stream__bottom-play {
  margin-top: 20px;
  border-radius: 10px; width: 100%; height: 48px;
  display: flex; align-items: center; justify-content: center;
  background: var(--grad-yellow);
  font-weight: 700; font-size: 16px; color: #0b0b10;
  gap: 10px;
  box-shadow: 0 6px 20px rgba(252,207,89,.4);
  transition: transform 0.15s, box-shadow 0.2s;
}
.main-stream__bottom-play:hover {
  background: var(--grad-yellow-hover);
  transform: translateY(-1px);
  box-shadow: 0 8px 26px rgba(252,207,89,.55);
}
.main-stream__bottom-play:active { transform: translateY(0); }
.main-stream__bottom-play::before { content: ""; width: 0; height: 0; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 11px solid currentColor; }
.main-stream__bottom-play:hover::before { transform: scale(1.08) rotate(-4deg); }
.main-stream__video-trigger { cursor: pointer; }
.main-stream__video-trigger .main-stream__image { transition: transform 0.35s ease, filter 0.35s ease; }
.main-stream__video-trigger:hover .main-stream__image { transform: scale(1.035); filter: saturate(1.08); }
.main-stream__video-trigger:hover .main-stream__video-play { transform: translate(-50%, -50%) scale(1.06); box-shadow: 0 18px 42px rgba(0,0,0,.45); }
.main-stream__video-play { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.main-stream__video-api { min-height: 18px; }

/* ===== CONTAINER BLOCK / TOC ===== */
.container-block {
  max-width: var(--container-content-max);
  margin: 0 auto 24px;
  padding: 0 16px;
}
.container-block:last-of-type { margin-bottom: 32px; }

/* ===== BLOCK WRAPPER ===== */
.block-wrapper {
  padding: 36px 36px;
  background: #fff;
  border-radius: 20px;
  color: #1a1a2e;
  box-shadow:
    0 1px 2px rgba(20, 18, 30, 0.04),
    0 8px 24px rgba(20, 18, 30, 0.05);
  position: relative;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.block-wrapper:hover {
  transform: translateY(-2px);
  box-shadow:
    0 1px 2px rgba(20, 18, 30, 0.04),
    0 16px 40px rgba(20, 18, 30, 0.08);
}
.block-wrapper h2 {
  font-size: 32px;
  margin-bottom: 18px;
  color: #0e0a1f;
  letter-spacing: -0.025em;
  text-transform: none;
  position: relative;
  padding-bottom: 14px;
}
.block-wrapper h2::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0;
  width: 56px; height: 4px;
  background: linear-gradient(90deg, #6245d9, #a450fb);
  border-radius: 2px;
}
.block-wrapper h3 {
  margin: 24px 0 10px;
  font-size: 22px;
  color: #0e0a1f;
  letter-spacing: -0.015em;
}
.block-wrapper p {
  margin: 14px 0;
  font-size: 16px;
  line-height: 1.65;
  color: #2c2740;
}
.block-wrapper p strong, .block-wrapper p b {
  color: #0e0a1f;
  font-weight: 700;
}
.block-wrapper ul {
  padding-left: 8px;
  margin: 16px 0;
  list-style: none;
}
.block-wrapper ul li {
  margin-bottom: 10px;
  line-height: 1.6;
  padding-left: 24px;
  position: relative;
}
.block-wrapper ul li::before {
  content: "";
  position: absolute;
  left: 0; top: 11px;
  width: 8px; height: 8px;
  background: linear-gradient(135deg, #6245d9, #a450fb);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(98, 69, 217, 0.12);
}
.block-wrapper ol {
  padding-left: 0;
  margin: 16px 0;
  counter-reset: ol-counter;
  list-style: none;
}
.block-wrapper ol li {
  counter-increment: ol-counter;
  padding-left: 48px;
  position: relative;
  margin-bottom: 14px;
  line-height: 1.6;
}
.block-wrapper ol li::before {
  content: counter(ol-counter);
  position: absolute; left: 0; top: -2px;
  width: 32px; height: 32px;
  background: linear-gradient(135deg, #6245d9, #9243e4);
  color: #fff;
  font-weight: 800; font-size: 14px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 12px rgba(98, 69, 217, 0.32);
  letter-spacing: 0;
}

/* Section reveal animation — opacity only, no transform (no CLS) */
.container-block {
  opacity: 1;
  transition: opacity 0.5s;
}
@media (prefers-reduced-motion: no-preference) {
  .container-block:not(.is-revealed):not(.toc-container) {
    opacity: 1;
  }
  .container-block.is-revealed { opacity: 1; }
}

.main-section__button {
  max-width: 275px; width: 100%; height: 62px;
  border-radius: 10px; display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 18px; color: #000;
  background: var(--grad-yellow);
  box-shadow: 0 6px 24px rgba(210, 162, 73, 0.5);
  gap: 10px; transition: transform 0.15s, box-shadow 0.2s;
  text-decoration: none;
  margin: 24px 0 8px; min-height: 44px;
  position: relative; overflow: hidden; isolation: isolate;
}
.main-section__button::before {
  content: ""; position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
  transform: translateX(-100%);
  transition: transform 0.6s;
  will-change: transform;
  z-index: -1;
  pointer-events: none;
}
.main-section__button:hover::before { transform: translateX(100%); }
.main-section__button::after {
  content: "";
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  flex: 0 0 auto;
  transition: transform 0.2s;
}
.main-section__button.cta--secondary {
  color: #2a1468;
  background: #fff;
  border: 1px solid rgba(98,69,217,.24);
  box-shadow: 0 4px 18px rgba(42,20,104,.12);
}
.main-section__button.cta--secondary::before {
  background: linear-gradient(90deg, transparent, rgba(98,69,217,.10), transparent);
}
.main-section__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(210, 162, 73, 0.65);
}
.main-section__button.cta--secondary:hover {
  box-shadow: 0 10px 24px rgba(42,20,104,.18);
}
.main-section__button:active { transform: translateY(0); }
.main-section__button:hover::after { transform: translateX(3px) rotate(-45deg); }

.intro-cta-row {
  max-width: var(--container-content-max);
  margin: 20px auto 12px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}
.intro-cta-row .main-section__button {
  width: auto;
  max-width: none;
  min-width: 190px;
  height: 54px;
  margin: 0;
  padding: 0 22px;
  white-space: nowrap;
}
@media (max-width: 680px) {
  .intro-cta-row {
    display: grid;
    grid-template-columns: 1fr;
  }
  .intro-cta-row .main-section__button {
    width: 100%;
    justify-content: space-between;
  }
}

/* ===== TABLES ===== */
table.pros-cons,
.block-wrapper table {
  border-collapse: separate; border-spacing: 0;
  width: 100%; margin: 20px 0;
  font-size: 14px;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(20, 18, 30, 0.04), 0 4px 16px rgba(20, 18, 30, 0.05);
}
table.pros-cons th,
table.pros-cons td,
.block-wrapper table th,
.block-wrapper table td {
  border-bottom: 1px solid #ececf0;
  padding: 14px 18px; text-align: left;
  line-height: 1.55;
}
table.pros-cons th,
.block-wrapper table th {
  background: linear-gradient(180deg, #f9f9fc, #f3f3f8);
  font-weight: 700;
  color: #0e0a1f;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.8px;
}
table.pros-cons th:first-child {
  color: #1c8a26;
}
table.pros-cons th:last-child {
  color: #c4421a;
}
table.pros-cons tr:last-child td,
.block-wrapper table tr:last-child td { border-bottom: none; }
table.pros-cons td {
  position: relative;
  padding-left: 38px;
}
table.pros-cons td:first-child::before {
  content: "✓";
  position: absolute;
  left: 14px; top: 50%;
  transform: translateY(-50%);
  width: 18px; height: 18px;
  background: linear-gradient(135deg, #20be2d, #65fa71);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 11px;
  box-shadow: 0 2px 6px rgba(32, 190, 45, 0.3);
}
table.pros-cons td:last-child::before {
  content: "✕";
  position: absolute;
  left: 14px; top: 50%;
  transform: translateY(-50%);
  width: 18px; height: 18px;
  background: linear-gradient(135deg, #e74c3c, #c4421a);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 11px;
  box-shadow: 0 2px 6px rgba(196, 66, 26, 0.3);
}

/* ===== ACCORDION ===== */
.accordion-wrap {
  max-width: var(--container-content-max); margin: 0 auto;
}
.accordion-wrap > details {
  display: block;
  padding: 22px 26px;
  box-shadow: 0 1px 2px rgba(20, 18, 30, 0.04), 0 4px 16px rgba(20, 18, 30, 0.05);
  border-radius: 16px;
  background: #fff;
  margin-bottom: 12px;
  transition: box-shadow 0.25s ease, border-color 0.2s;
  border: 1px solid transparent;
  position: relative;
  overflow: hidden;
}
.accordion-wrap > details::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #6245d9, #a450fb);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.3s ease-out;
}
.accordion-wrap > details:hover {
  box-shadow: 0 1px 2px rgba(20, 18, 30, 0.04), 0 8px 24px rgba(20, 18, 30, 0.08);
}
.accordion-wrap > details[open] {
  box-shadow: 0 1px 2px rgba(98, 69, 217, 0.06), 0 12px 32px rgba(98, 69, 217, 0.14);
}
.accordion-wrap > details[open]::before { transform: scaleY(1); }

.accordion-wrap > details > summary {
  display: flex;
  align-items: center;
  gap: 18px;
  list-style: none;
  cursor: pointer;
  position: relative;
  min-height: 40px;
  padding-right: 4px;
  outline: none;
}
.accordion-wrap > details > summary::-webkit-details-marker { display: none; }
.accordion-wrap > details > summary::marker { display: none; }

.accordion-wrap > details > summary h3 {
  flex: 1;
  font-size: 17px;
  line-height: 1.4;
  margin: 0;
  color: #0e0a1f;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* Plus/minus icon — single pseudo-element, flex-centered */
.accordion-wrap > details > summary::after {
  content: "+";
  flex-shrink: 0;
  width: 32px; height: 32px;
  background: linear-gradient(135deg, #6245d9, #a450fb);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  transition: background 0.25s, transform 0.3s;
  box-shadow: 0 4px 12px rgba(98, 69, 217, 0.25);
}
.accordion-wrap > details[open] > summary::after {
  content: "–";
  background: linear-gradient(135deg, #20be2d, #65fa71);
  transform: rotate(180deg);
  font-size: 26px;
  box-shadow: 0 4px 12px rgba(32, 190, 45, 0.3);
}

.accordion-wrap > details > summary:focus-visible {
  outline: 2px solid var(--color-purple);
  outline-offset: 4px;
  border-radius: 8px;
}

.accordion-wrap__answer {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #ececf0;
  animation: faqFadeIn 0.3s ease-out;
  font-size: 15px;
  line-height: 1.65;
  color: #2c2740;
}
.accordion-wrap__answer p {
  margin: 0;
}
@keyframes faqFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== FOOTER ===== */
.footer { background: #fff; margin-top: 20px; }
.footer__inner { width: 100%; margin: 0 auto; padding: 0 20px; }
.footer__main { padding: 32px 0 0; border-bottom: 1px solid var(--color-bg); }
.footer-nav__box {
  max-width: var(--container-footer-max); width: 100%; margin: 0 auto;
  padding: 0 0 30px; display: flex; align-items: flex-start;
  justify-content: space-between; gap: 20px;
}
.footer-nav__list li { margin-bottom: 15px; }
.footer-nav__list li a {
  color: #000; font-weight: 500;
  position: relative;
  transition: color 0.2s;
  display: inline-block; padding: 4px 0;
}
.footer-nav__list li a::after {
  content: ""; position: absolute; bottom: 0; left: 0;
  width: 100%; height: 1px; background: var(--color-green-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s;
  will-change: transform;
}
.footer-nav__list li a:hover { color: var(--color-green-accent); }
.footer-nav__list li a:hover::after { transform: scaleX(1); }
.footer-nav__box .footer-nav:first-of-type .footer-nav__list {
  max-width: 800px; display: flex; flex-wrap: wrap;
}
.footer-nav__box .footer-nav:first-of-type .footer-nav__list li { width: 50%; }

.footer-images {
  padding: 32px 0 0; display: flex; align-items: center;
  justify-content: center; gap: 22px; flex-wrap: wrap;
  border-top: 1px solid var(--color-bg); margin-top: 20px;
}

/* Footer contact — structured signal for crawlers + users */
.footer-contact {
  max-width: var(--container-footer-max);
  width: 100%;
  margin: 24px auto 0;
  padding: 18px 24px;
  background: linear-gradient(135deg, #f6f6fa, #ffffff);
  border-radius: 12px;
  border: 1px solid #ececf0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 28px;
  font-style: normal;
  font-size: 14px;
}
.footer-contact__line {
  display: flex; align-items: center; gap: 8px;
}
.footer-contact__label {
  font-weight: 700; color: #1a1a2e;
  text-transform: uppercase;
  font-size: 11px; letter-spacing: 0.5px;
}
.footer-contact a {
  color: #6346d9; font-weight: 600;
  border-bottom: 1px dashed rgba(99,70,217,.4);
  transition: border-color 0.2s, color 0.2s;
}
.footer-contact a:hover { color: #4e2da8; border-bottom-color: #4e2da8; }
.footer-contact__hours { color: #4ade80; font-weight: 700; font-size: 12px; }

/* Chat widget noscript fallback */
.chat-widget-noscript {
  position: fixed;
  bottom: 20px; right: 20px;
  max-width: 280px;
  padding: 14px 18px;
  background: #2a1468;
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  font-size: 13px; line-height: 1.4;
}
.chat-widget-noscript p { margin: 0; }
.chat-widget-noscript a { color: #ffe489; text-decoration: underline; }
.chat-widget-noscript a:hover { color: #fff; }
.footer-images__item {
  min-height: 56px; padding: 8px 14px;
  background: #f5f5f8; color: #666; border-radius: 4px;
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.5px;
  display: flex; align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  transition: filter 0.3s, transform 0.2s, background 0.2s;
  text-decoration: none;
}
.footer-images__item img {
  display: block;
  max-width: 170px;
  max-height: 48px;
  object-fit: contain;
}
.footer-images__item--logo {
  min-width: 92px;
  background: #fff;
  border: 1px solid #ececf0;
}
.footer-images__item--authority img {
  width: auto;
  max-width: 104px;
  max-height: 72px;
}
.footer-images__item--wordmark {
  min-width: 180px;
}
.footer-images__item--wordmark img {
  max-width: 180px;
  max-height: 54px;
}
.footer-images__item--age {
  min-width: 64px;
}
.footer-images__item--age img {
  max-width: 48px;
  max-height: 48px;
}
.footer-images__item:hover {
  transform: translateY(-2px);
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}
.footer-compliance-note {
  max-width: var(--container-footer-max);
  margin: 0 auto 26px;
  color: #6f7897;
  font-size: 12px;
  line-height: 1.55;
  text-align: center;
}

.footer__bottom {
  max-width: var(--container-footer-max); width: 100%; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 28px 0;
}
.footer__logo .logo__image {
  width: 56px;
  height: 56px;
}
.copyright { font-size: 14px; line-height: 20px; color: #484960; font-weight: 600; }

/* ===== STICKY MOBILE CTA ===== */
.sticky-cta-mobile {
  position: fixed; bottom: 0; left: 0; right: 0;
  z-index: 998; padding: 12px 16px;
  background: rgba(42, 20, 104, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 -4px 20px rgba(0,0,0,.2);
  display: none;
  transform: translateY(100%);
  transition: transform 0.3s ease-out;
}
.sticky-cta-mobile.is-visible { transform: translateY(0); }
.sticky-cta-mobile__btn {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 48px; gap: 10px;
  background: var(--grad-yellow);
  border-radius: 10px;
  font-weight: 800; font-size: 16px; color: #0b0b10;
  box-shadow: 0 4px 14px rgba(252,207,89,.4);
  text-decoration: none;
}
.sticky-cta-mobile__btn::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid currentColor;
}
@media (max-width: 768px) {
  .sticky-cta-mobile { display: block; }
  .wrapper { padding-bottom: 80px; }
}

/* ===== CHAT WIDGET ===== */
[x-cloak] { display: none !important; }

.chat-widget {
  position: fixed; bottom: 20px; right: 20px;
  z-index: 999998;
}

/* Toggle button */
.chat-widget-toggle {
  position: relative;
  display: flex; align-items: center; gap: 10px;
  height: 50px; padding: 0 22px;
  background: linear-gradient(135deg, #6346d9, #7B5FDD);
  color: #fff;
  border-radius: 50px;
  font-size: 15px; font-weight: 700; letter-spacing: 0.2px;
  box-shadow: 0 10px 30px rgba(99, 70, 217, 0.35);
  transition: transform 0.2s, box-shadow 0.2s, background 0.3s;
  cursor: pointer; min-height: 44px;
}
.chat-widget-toggle:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 40px rgba(99, 70, 217, 0.5);
}
.chat-widget-toggle.is-open {
  background: #4e2da8;
  box-shadow: 0 8px 24px rgba(78,45,168,.4);
}
.chat-widget-toggle__icon {
  flex-shrink: 0;
  transition: transform 0.3s;
}
.chat-widget-toggle__icon.is-rotated { transform: rotate(90deg); }
.chat-widget-toggle__text { white-space: nowrap; }
#scrolltop {
  position: fixed; bottom: 21px; right: 240px; z-index: 9999;
  width: 44px; height: 44px;
  color: var(--color-purple);
  background: #fff; border-radius: 50%;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; font-weight: 700; line-height: 1; text-decoration: none;
  opacity: 0; pointer-events: none;
  transform: translateY(10px);
  transition: opacity 0.2s, transform 0.2s, box-shadow 0.2s;
}
#scrolltop.is-visible { opacity: 1; pointer-events: auto; transform: none; }
#scrolltop:hover {
  box-shadow: 0 6px 20px rgba(98,69,217,.3);
  background: var(--color-purple); color: #fff;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1023px) {
  .main-nav {
    display: flex !important; flex-direction: column;
    position: fixed; top: 0; left: 0; bottom: 0;
    width: 280px; padding: 20px;
    background: #2a1468; z-index: 200;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    visibility: hidden; opacity: 0;
    box-shadow: 4px 0 20px rgba(0,0,0,.3);
  }
  .main-nav.is-open { transform: translateX(0); visibility: visible; opacity: 1; }
  .main-nav__list { flex-direction: column; align-items: flex-start; margin: 60px 0 0; }
  .main-nav__list li {
    width: 100%; margin: 0; padding: 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
  .main-nav__list li a {
    width: 100%; padding: 14px 4px;
  }
}
@media (max-width: 991px) {
  .main-stream { padding: 24px 16px; }
  .main-stream__inner { flex-direction: column; }
  .main-stream__stream-box {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 210px;
    aspect-ratio: 16 / 9;
    flex: 0 0 auto;
    margin: 0 0 10px;
    order: 0;
  }
  .main-stream__content-box {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    padding: 18px;
    order: 1;
  }
  .main-stream__about-title { font-size: 30px; margin-bottom: 4px; }

  .footer-nav__box { flex-direction: column; }
  .footer__bottom { flex-direction: column; gap: 16px; text-align: center; }
}
@media (max-width: 480px) {
  .main-stream {
    padding: 16px;
    margin-bottom: 22px;
  }
  .main-stream__inner {
    gap: 12px;
  }
  .main-stream__stream-box {
    min-height: 198px;
    border-radius: 14px;
  }
  .main-stream__video-play {
    width: 62px;
    height: 62px;
  }
  .main-stream__video-play::before {
    border-top-width: 9px;
    border-bottom-width: 9px;
    border-left-width: 14px;
  }
  .main-stream__video-badge {
    left: 12px;
    top: 12px;
    height: 30px;
    padding: 0 10px;
    font-size: 11px;
  }
  .main-stream__video-api {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }
}
@media (max-width: 767px) {
  .header__main { padding: 10px 0; }
  .header__inner { padding: 0 16px; }
  .logo { max-width: 60px; }
  .logo__image { width: 52px; height: 52px; }
  .block-wrapper { padding: 28px 22px; border-radius: 16px; }
  .block-wrapper h2 { font-size: 26px; margin-bottom: 18px; }
  .block-wrapper h3 { font-size: 19px; margin: 24px 0 10px; }
  .block-wrapper:hover { transform: none; }
  .accordion-wrap { padding: 0; }
  .accordion-wrap > details { padding: 18px 22px; border-radius: 14px; }

  .chat-widget { bottom: 84px; right: 16px; }
  .chat-widget-toggle__text { display: none; }
  .chat-widget-toggle {
    width: 56px; height: 56px; padding: 0; justify-content: center; border-radius: 50%;
  }
  #scrolltop { right: 84px; bottom: 156px; }
}

/* ============================================================
   NEW WRITER SHORTCODES — homepage v2 styles
   ============================================================ */

/* Common: every shortcode auto-wraps in container-block in MD */

/* quick-fact-row */
.quick-facts {
  background: linear-gradient(135deg, #f6f6fa, #fff);
  border-radius: 14px;
  padding: 18px 24px;
  border: 1px solid #ececf0;
  margin: 16px 0;
}
.quick-facts__list {
  display: flex; flex-wrap: wrap; gap: 24px 32px;
  list-style: none; padding: 0; margin: 0;
}
.quick-facts__item {
  display: flex; flex-direction: column; gap: 2px;
}
.quick-facts__label {
  font-size: 11px; text-transform: uppercase;
  letter-spacing: 0.6px; color: #6f7897; font-weight: 700;
}
.quick-facts__value {
  font-size: 16px; font-weight: 700; color: #0e0a1f;
}
.quick-facts__note {
  margin: 12px 0 0;
  color: #6f7897;
  font-size: 13px;
  line-height: 1.45;
}

/* key-facts-table & local-reqs */
.key-facts, .local-reqs, .entity-summary {
  background: #fff;
  border-radius: 14px;
  padding: 22px 26px;
  margin: 18px 0;
  border: 1px solid #ececf0;
  box-shadow: 0 1px 2px rgba(20,18,30,.04);
}
.key-facts__caption,
.local-reqs__caption,
.entity-summary__caption {
  font-weight: 700; font-size: 13px; text-transform: uppercase;
  letter-spacing: 0.8px; color: #6f7897;
  margin: 0 0 12px;
}
.key-facts__list,
.local-reqs__list,
.entity-summary__list {
  display: grid; gap: 0; margin: 0;
}
.key-facts__row,
.local-reqs__row,
.entity-summary__row {
  display: grid; grid-template-columns: minmax(140px, 28%) 1fr;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid #f3f3f8;
}
.key-facts__row:last-child,
.local-reqs__row:last-child,
.entity-summary__row:last-child { border-bottom: none; }
.key-facts__label, .local-reqs__label, .entity-summary__row dt {
  font-weight: 700; color: #1a1a2e; font-size: 14px;
}
.key-facts__value, .local-reqs__value, .entity-summary__row dd {
  margin: 0; color: #2c2740; font-size: 15px; line-height: 1.5;
}
.entity-summary__note {
  margin: 14px 0 0;
  color: #6f7897;
  font-size: 13px;
  line-height: 1.5;
}
.key-facts__updated {
  margin: 12px 0 0; font-size: 12px; color: #6f7897;
  text-align: right;
}

/* toc-page */
.toc-page {
  background: linear-gradient(135deg, rgba(98,69,217,.05), rgba(164,80,251,.03));
  border: 1px solid rgba(98,69,217,.12);
  border-radius: 14px;
  padding: 0; margin: 16px 0;
  overflow: hidden;
}
.toc-page__details {
  padding: 0;
}
.toc-page__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 56px;
  padding: 18px 24px;
  cursor: pointer;
  list-style: none;
}
.toc-page__summary::-webkit-details-marker { display: none; }
.toc-page__summary::marker { content: ""; }
.toc-page__summary:focus-visible {
  outline: 2px solid #6245d9;
  outline-offset: -4px;
  border-radius: 12px;
}
.toc-page__title {
  font-size: 16px !important;
  margin: 0 !important;
  padding-bottom: 0 !important;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #6245d9 !important;
}
.toc-page__title::after { content: none !important; }
.toc-page__toggle {
  position: relative;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #6245d9;
  flex: 0 0 28px;
}
.toc-page__toggle::before,
.toc-page__toggle::after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  top: 13px;
  height: 2px;
  background: #fff;
  border-radius: 999px;
}
.toc-page__toggle::after { transform: rotate(90deg); transition: transform .2s ease; }
.toc-page__details[open] .toc-page__toggle::after { transform: rotate(0deg); }
.toc-page__inner {
  padding: 0 24px 20px;
  animation: faqFadeIn .2s ease-out;
}
.toc-page__inner ul, .toc-page__inner ol {
  padding-left: 20px; margin: 0;
}
.toc-page__inner li {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 6px;
}
.toc-page__inner li::before { content: none !important; }
.toc-page__inner a {
  color: #1a1a2e; font-weight: 600; font-size: 14px;
  transition: color .2s;
}
.toc-page__inner a:hover { color: #6245d9; }

/* live-status */
.live-status {
  background: #1f0b44;
  background-image: linear-gradient(135deg, #2a1468 0%, #1f0b44 100%);
  color: #fff;
  border-radius: 16px;
  padding: 24px 28px;
  margin: 18px 0;
  position: relative;
  box-shadow: 0 12px 32px rgba(31, 11, 68, .25);
}
.live-status::before {
  content: ""; position: absolute;
  top: 12px; right: 16px;
  width: 8px; height: 8px;
  border-radius: 50%; background: #4ade80;
  box-shadow: 0 0 0 2px rgba(74,222,128,.3);
  animation: livePulse 2s ease-in-out infinite;
}
@keyframes livePulse {
  0%,100% { opacity: 1; }
  50% { opacity: .5; }
}
.live-status--error::before { background: #ef4444; }
.live-status__static {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
}
.live-status__field {
  display: flex; flex-direction: column; gap: 4px;
}
.live-status__label {
  font-size: 11px; text-transform: uppercase;
  letter-spacing: 0.8px; color: rgba(255,255,255,.6);
  font-weight: 700;
}
.live-status__value {
  font-size: 18px; font-weight: 800; color: #fff;
  font-variant-numeric: tabular-nums;
}
.live-status__caution {
  margin: 16px 0 0; font-size: 12px;
  color: rgba(255,255,255,.65);
  font-style: italic;
}

/* live-cards */
.live-cards__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 18px 0;
}
.live-cards__card {
  background: #fff; border-radius: 14px;
  padding: 18px 20px; border: 1px solid #ececf0;
  box-shadow: 0 1px 2px rgba(20,18,30,.04);
}
.live-cards__title {
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #6f7897 !important;
  margin: 0 0 12px !important;
  font-weight: 700;
}
.live-cards__fields {
  display: grid; gap: 6px; margin: 0;
}
.live-cards__row {
  display: grid; grid-template-columns: 80px 1fr;
  gap: 8px; align-items: center;
}
.live-cards__row dt {
  font-size: 11px; color: #6f7897; font-weight: 600;
  text-transform: capitalize;
}
.live-cards__row dd {
  margin: 0; font-size: 14px; font-weight: 700; color: #0e0a1f;
  font-variant-numeric: tabular-nums;
}

/* data-table-wrap */
.data-table-wrap {
  margin: 18px 0; background: #fff;
  border-radius: 14px; overflow: hidden;
  border: 1px solid #ececf0;
  box-shadow: 0 1px 2px rgba(20,18,30,.04);
}
.data-table-wrap__caption {
  padding: 14px 20px; background: #f9f9fc;
  font-size: 12px; text-transform: uppercase;
  letter-spacing: 0.6px; color: #6f7897; font-weight: 700;
  border-bottom: 1px solid #ececf0;
}
.data-table-wrap__scroll { overflow-x: auto; }
.data-table {
  width: 100%; border-collapse: separate; border-spacing: 0;
  font-size: 14px;
}
.data-table th, .data-table td {
  padding: 12px 16px; text-align: left;
  border-bottom: 1px solid #ececf0;
}
.data-table th {
  background: #f9f9fc; font-size: 11px;
  text-transform: uppercase; letter-spacing: 0.6px;
  color: #6f7897; font-weight: 700;
}
.data-table tr:last-child td { border-bottom: none; }
.data-table tbody tr:hover { background: #f9f9fc; }
.data-table-wrap__footer {
  padding: 12px 20px; margin: 0; border-top: 1px solid #ececf0;
  font-size: 14px;
}
.data-table-wrap__footer a { color: #6245d9; font-weight: 700; }

/* bonus-hits */
.bonus-hits {
  background: #fff; border-radius: 14px;
  padding: 22px 24px; margin: 18px 0;
  border: 1px solid #ececf0;
  box-shadow: 0 2px 8px rgba(20,18,30,.05);
}
.bonus-hits__caption {
  font-size: 15px !important;
  text-transform: none;
  letter-spacing: 0;
  color: #1a1a2e !important;
  margin: 0 0 14px !important;
  font-weight: 800;
  padding-left: 0 !important;
}
.bonus-hits__caption::before,
.bonus-hits__caption::after {
  content: none !important;
}
.bonus-hits__periods {
  display: flex; gap: 6px; margin-bottom: 18px;
  flex-wrap: wrap;
}
.bonus-hits__period {
  padding: 8px 14px; border-radius: 8px;
  background: #f3f3f8; color: #1a1a2e;
  font-weight: 600; font-size: 12px;
  transition: all 0.2s;
  border: 1px solid transparent;
  cursor: pointer;
}
.bonus-hits__period:focus-visible {
  outline: 2px solid #6245d9;
  outline-offset: 2px;
}
.bonus-hits__period.is-active {
  background: linear-gradient(135deg, #6245d9, #a450fb);
  color: #fff;
}
.bonus-hits__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.bonus-hits__item {
  background: #f9f9fc; padding: 14px 16px; border-radius: 10px;
  display: flex; flex-direction: column; gap: 4px;
  list-style: none !important; padding-left: 16px !important;
  min-height: 88px;
}
.bonus-hits__item::before { content: none !important; }
.bonus-hits__label {
  font-size: 11px; text-transform: uppercase;
  letter-spacing: 0.6px; color: #6f7897; font-weight: 700;
}
.bonus-hits__count {
  font-size: 22px; font-weight: 800; color: #0e0a1f;
  font-variant-numeric: tabular-nums;
}
.bonus-hits__warning {
  font-size: 12px; color: #6f7897;
  margin: 14px 0 0; font-style: italic;
}

/* predictor-teaser */
.predictor-teaser {
  background: linear-gradient(135deg, rgba(98,69,217,.05), rgba(164,80,251,.03));
  border: 1px solid rgba(98,69,217,.12);
  border-radius: 16px;
  padding: 24px 28px; margin: 18px 0;
}
.predictor-teaser__title {
  font-size: 18px !important; margin: 0 0 14px !important;
  padding-bottom: 0 !important; color: #1a1a2e !important;
}
.predictor-teaser__title::after { content: none !important; }
.predictor-teaser__windows {
  display: flex; gap: 6px; margin-bottom: 16px; flex-wrap: wrap;
}
.predictor-teaser__window {
  padding: 8px 14px; border-radius: 8px;
  background: #fff; color: #1a1a2e;
  font-weight: 600; font-size: 12px;
  cursor: pointer; transition: all 0.2s;
  border: 1px solid #ececf0;
}
.predictor-teaser__window.is-active {
  background: linear-gradient(135deg, #6245d9, #a450fb);
  color: #fff; border-color: transparent;
}
.predictor-teaser__output {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px; margin-bottom: 16px;
}
.predictor-teaser__field {
  background: #fff; border-radius: 10px; padding: 12px 14px;
  border: 1px solid #ececf0;
  display: flex; flex-direction: column; gap: 4px;
}
.predictor-teaser__field-label {
  font-size: 11px; text-transform: uppercase;
  letter-spacing: 0.6px; color: #6f7897; font-weight: 700;
}
.predictor-teaser__field-value {
  font-size: 16px; font-weight: 700; color: #1a1a2e;
  min-height: 44px;
}
.predictor-teaser__warning {
  font-size: 12px; color: #6f7897;
  margin: 0 0 14px; font-style: italic;
}
.predictor-teaser__cta {
  display: inline-block; padding: 10px 20px;
  background: linear-gradient(135deg, #6245d9, #a450fb);
  color: #fff; border-radius: 8px;
  font-weight: 700; font-size: 14px;
  text-decoration: none;
  transition: transform 0.15s;
}
.predictor-teaser__cta:hover { transform: translateY(-1px); }

/* callout */
.callout {
  border-radius: 12px;
  padding: 16px 20px;
  margin: 18px 0;
  border-left: 4px solid;
}
.callout--info {
  background: linear-gradient(135deg, rgba(98,69,217,.06), transparent);
  border-color: #6245d9;
}
.callout--warning {
  background: linear-gradient(135deg, rgba(255,138,0,.08), transparent);
  border-color: #ff8a00;
}
.callout__title {
  font-weight: 800; font-size: 14px;
  margin: 0 0 4px; color: #0e0a1f;
}
.callout__text {
  margin: 0; font-size: 14px; line-height: 1.55; color: #2c2740;
}

/* stepper */
.stepper {
  list-style: none !important;
  padding: 0 !important;
  margin: 18px 0;
  counter-reset: none !important;
}
.stepper li {
  list-style: none !important;
  counter-increment: none !important;
  padding-left: 0 !important;
}
.stepper li::before { content: none !important; }
.stepper__item {
  display: flex; gap: 16px; padding: 14px 0;
  border-bottom: 1px solid #f3f3f8;
}
.stepper__item:last-child { border-bottom: none; }
.stepper__num {
  flex-shrink: 0; width: 32px; height: 32px;
  background: linear-gradient(135deg, #6245d9, #a450fb);
  color: #fff; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 14px;
  box-shadow: 0 4px 12px rgba(98,69,217,.25);
}
.stepper__name {
  font-size: 16px !important; font-weight: 700;
  margin: 0 0 4px !important; color: #0e0a1f !important;
}
.stepper__text {
  margin: 0; font-size: 14px; line-height: 1.55; color: #2c2740;
}

/* wheel-segments */
.wheel-segments {
  margin: 18px 0;
}
.wheel-segments__caption {
  font-size: 13px; text-transform: uppercase;
  letter-spacing: 0.8px; color: #6f7897; font-weight: 700;
  margin: 0 0 12px;
}
.wheel-segments__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 8px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0;
}
.wheel-segments__item {
  list-style: none !important; padding: 14px 12px !important;
  background: #fff; border: 2px solid #ececf0;
  border-radius: 12px;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  text-align: center;
  transition: transform .15s, border-color .15s;
}
.wheel-segments__item::before { content: none !important; }
.wheel-segments__item:hover { transform: translateY(-2px); }
.wheel-segments__item--bonus {
  background: linear-gradient(135deg, #fff, #fff5e0);
  border-color: #ffd445;
}
.wheel-segments__item--bonus:hover { border-color: #ff8a00; }
.wheel-segments__name {
  font-weight: 800; font-size: 16px; color: #0e0a1f;
}
.wheel-segments__count {
  font-size: 11px; color: #6f7897; font-weight: 700;
  text-transform: uppercase; letter-spacing: .5px;
}
.wheel-segments__payout {
  font-size: 11px; color: #6245d9; font-weight: 700;
}
.wheel-segments__item--bonus .wheel-segments__payout {
  color: #c1272d;
}

/* round-tabs */
.round-tabs {
  background: #fff; border-radius: 14px;
  padding: 22px 24px; margin: 18px 0;
  border: 1px solid #ececf0;
}
.round-tabs__caption {
  font-size: 13px !important;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #6f7897 !important;
  margin: 0 0 14px !important;
  font-weight: 700;
}
.round-tabs__caption::after { content: none !important; }
.round-tabs__list {
  display: flex; gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 18px;
  border-bottom: 1px solid #ececf0;
  padding-bottom: 12px;
}
.round-tabs__btn {
  padding: 10px 16px; background: #f3f3f8;
  color: #1a1a2e; border-radius: 8px;
  font-weight: 700; font-size: 13px;
  cursor: pointer; transition: all 0.2s;
  border: 1px solid transparent;
}
.round-tabs__btn.is-active {
  background: linear-gradient(135deg, #6245d9, #a450fb);
  color: #fff;
}
.round-tabs__panel {
  animation: faqFadeIn 0.25s ease-out;
}
.round-tabs__fields {
  display: grid; gap: 0; margin: 0;
}
.round-tabs__row {
  display: grid; grid-template-columns: minmax(140px, 30%) 1fr;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid #f3f3f8;
}
.round-tabs__row:last-child { border-bottom: none; }
.round-tabs__row dt {
  font-weight: 700; color: #1a1a2e; font-size: 13px;
  text-transform: capitalize;
}
.round-tabs__row dd {
  margin: 0; color: #2c2740; font-size: 14px; line-height: 1.5;
}
.round-tabs__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.round-tabs__card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(98,69,217,.14);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(20,18,30,.05);
}
.round-tabs__title {
  margin: 0;
  color: #1a1a2e;
  font-size: 17px;
  line-height: 1.25;
  letter-spacing: 0;
}
.round-tabs__card .round-tabs__fields {
  gap: 0;
}
.round-tabs__card .round-tabs__row {
  grid-template-columns: minmax(112px, 36%) 1fr;
  gap: 10px;
  padding: 8px 0;
}
.round-tabs__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin-top: auto;
  padding: 8px 12px;
  border-radius: 8px;
  background: #f3f1ff;
  color: #4b33bd;
  font-weight: 800;
  font-size: 13px;
}

/* comparison */
.comparison {
  margin: 18px 0; background: #fff;
  border-radius: 14px; overflow: hidden;
  border: 1px solid #ececf0;
}
.comparison__caption {
  padding: 14px 20px; background: #f9f9fc;
  font-size: 12px; text-transform: uppercase;
  letter-spacing: 0.6px; color: #6f7897; font-weight: 700;
  border-bottom: 1px solid #ececf0;
}
.comparison__scroll { overflow-x: auto; }
.comparison__table {
  width: 100%; border-collapse: separate; border-spacing: 0;
  font-size: 14px;
}
.comparison__table th, .comparison__table td {
  padding: 12px 16px; text-align: left;
  border-bottom: 1px solid #ececf0;
}
.comparison__table th {
  background: #f9f9fc; font-size: 11px;
  text-transform: uppercase; letter-spacing: 0.6px;
  color: #6f7897; font-weight: 700;
}
.comparison__table tr:last-child td { border-bottom: none; }

/* estimator */
.estimator {
  background: linear-gradient(135deg, #f9f9fc, #fff);
  border-radius: 14px;
  padding: 22px 24px; margin: 18px 0;
  border: 1px solid #ececf0;
}
.estimator__caption {
  font-size: 13px !important;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #6f7897 !important;
  margin: 0 0 14px !important;
  font-weight: 700;
}
.estimator__form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 14px; margin-bottom: 18px;
}
.estimator__field {
  display: flex; flex-direction: column; gap: 6px;
}
.estimator__label {
  font-size: 12px; font-weight: 700; color: #1a1a2e;
}
.estimator__input, .estimator__select {
  padding: 10px 12px; border: 1px solid #ddd;
  border-radius: 8px; font-size: 14px;
  font-family: inherit; background: #fff;
}
.estimator__input:focus, .estimator__select:focus {
  outline: none; border-color: #6245d9;
}
.estimator__output {
  background: #fff; border-radius: 10px; padding: 14px 16px;
  border: 1px solid #ececf0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px 14px;
}
.estimator__output p {
  margin: 4px 0; font-size: 14px; color: #2c2740;
}
.estimator__output strong {
  color: #6245d9; font-size: 16px;
  font-variant-numeric: tabular-nums;
}
.estimator__warning {
  font-size: 12px; color: #6f7897; margin: 12px 0 0;
  font-style: italic;
}

/* info-card (rtp-note) */
.info-card {
  background: linear-gradient(135deg, rgba(98,69,217,.05), rgba(164,80,251,.03));
  border: 1px solid rgba(98,69,217,.15);
  border-radius: 14px;
  padding: 18px 22px;
  margin: 18px 0;
}
.info-card__title {
  font-size: 16px !important; margin: 0 0 6px !important;
  color: #1a1a2e !important;
  padding-bottom: 0 !important;
}
.info-card__title::after { content: none !important; }
.info-card__text {
  margin: 0 0 8px; font-size: 14px; line-height: 1.55; color: #2c2740;
}
.info-card__link {
  color: #6245d9; font-weight: 700; font-size: 14px;
}

/* access-cards / mistake-cards / fit-cards: shared card grid */
.access-cards, .mistake-cards, .fit-cards {
  margin: 18px 0;
}
.access-cards__caption, .mistake-cards__caption {
  font-size: 13px !important;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #6f7897 !important;
  margin: 0 0 14px !important;
  font-weight: 700;
}
.access-cards__grid, .mistake-cards__grid, .fit-cards__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0;
}
.access-cards__card, .mistake-cards__card, .fit-cards__card {
  list-style: none !important;
  padding: 18px 20px !important;
  background: linear-gradient(180deg, #fff 0%, #fbfbff 100%);
  border: 1px solid #e2e5f2;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(20,18,30,.04), 0 10px 24px rgba(20,18,30,.05);
  transition: transform .15s, box-shadow .2s;
}
.access-cards__card::before, .mistake-cards__card::before, .fit-cards__card::before {
  content: none !important;
}
.access-cards__card:hover, .mistake-cards__card:hover, .fit-cards__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(20,18,30,.08);
}
.access-cards__title, .mistake-cards__title, .fit-cards__title {
  font-size: 16px !important;
  margin: 0 0 8px !important;
  color: #0e0a1f !important;
  font-weight: 800;
}
.access-cards__desc, .mistake-cards__desc, .fit-cards__text {
  margin: 0 0 12px; font-size: 14px; line-height: 1.55; color: #2c2740;
}
.access-cards__cta {
  color: #6245d9; font-weight: 700; font-size: 14px;
}
.access-cards__note {
  margin: 12px 0 0;
  color: #6f7897;
  font-size: 13px;
  line-height: 1.45;
}
.fit-cards__card--good-fit { border-top: 4px solid #20be2d; }
.fit-cards__card--use-caution { border-top: 4px solid #ff8a00; }
.fit-cards__card--skip-if { border-top: 4px solid #c4421a; }

/* image-strip */
.image-strip {
  margin: 16px 0 20px;
}
.image-strip__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 12px;
}
.image-strip__item {
  margin: 0 !important;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
}
.image-strip__item img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: 1px solid #e2e5f2;
  border-radius: 8px !important;
  box-shadow: 0 1px 2px rgba(20,18,30,.04), 0 10px 24px rgba(20,18,30,.06);
}

/* context-image */
.context-image {
  margin: 16px 0 20px !important;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}
.context-image img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border: 1px solid #e2e5f2;
  border-radius: 8px !important;
  box-shadow: 0 1px 2px rgba(20,18,30,.04), 0 10px 24px rgba(20,18,30,.06);
}
.context-image--contain {
  max-width: 520px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.context-image--contain img {
  aspect-ratio: auto;
  object-fit: contain;
  background: linear-gradient(180deg, #f8f9ff, #fff);
}

/* device-selector */
.device-selector {
  background: #fff; border-radius: 14px;
  padding: 22px 24px; margin: 18px 0;
  border: 1px solid #ececf0;
}
.device-selector__caption {
  font-size: 13px !important;
  text-transform: uppercase; letter-spacing: 0.8px;
  color: #6f7897 !important; margin: 0 0 14px !important;
}
.device-selector__tabs {
  display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px;
}
.device-selector__paths {
  display: grid;
  gap: 8px;
}
.device-selector__tab {
  padding: 10px 18px; background: #f3f3f8;
  border-radius: 10px; font-weight: 700; font-size: 14px;
  transition: all 0.2s;
}
.device-selector__tab.is-active {
  background: linear-gradient(135deg, #6245d9, #a450fb);
  color: #fff;
}
.device-selector__path {
  margin: 0; font-size: 15px; line-height: 1.55; color: #2c2740;
  padding: 12px 16px; background: #f9f9fc; border-radius: 10px;
}

/* session-prompt */
.session-prompt {
  background: linear-gradient(135deg, rgba(32,190,45,.05), rgba(101,250,113,.03));
  border: 1px solid rgba(32,190,45,.15);
  border-radius: 14px;
  padding: 22px 24px; margin: 18px 0;
}
.session-prompt__caption {
  font-size: 13px; text-transform: uppercase;
  letter-spacing: 0.8px; color: #1c8a26;
  margin: 0 0 14px; font-weight: 700;
}
.session-prompt__form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px; margin-bottom: 12px;
}
.session-prompt__field { display: flex; flex-direction: column; gap: 4px; }
.session-prompt__label {
  font-size: 12px; font-weight: 700; color: #1a1a2e;
}
.session-prompt__input {
  padding: 10px 12px; border: 1px solid #ddd;
  border-radius: 8px; font-size: 14px; font-family: inherit;
  background: #fff;
}
.session-prompt__note {
  font-size: 12px; color: #6f7897; margin: 0; font-style: italic;
}
.session-prompt__summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin: 4px 0 12px;
}
.session-prompt__metric {
  background: #fff;
  border: 1px solid rgba(32,190,45,.16);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.session-prompt__metric span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: #6f7897;
  font-weight: 800;
}
.session-prompt__metric strong {
  color: #0e0a1f;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.session-prompt__status {
  margin: 0 0 10px;
  padding: 10px 12px;
  background: rgba(32,190,45,.08);
  border-radius: 8px;
  color: #17621f;
  font-size: 13px;
  font-weight: 700;
}

/* bonus-snapshot, payment-chips */
.bonus-snapshot, .casino-cards {
  background: #fff; border-radius: 14px;
  border: 1px solid #ececf0;
  margin: 18px 0; overflow: hidden;
}
.bonus-snapshot__caption, .casino-cards__caption {
  padding: 14px 20px; background: #f9f9fc;
  font-size: 12px; text-transform: uppercase;
  letter-spacing: 0.6px; color: #6f7897; font-weight: 700;
  border-bottom: 1px solid #ececf0;
  margin: 0;
}
.bonus-snapshot__scroll { overflow-x: auto; }
.bonus-snapshot__table {
  width: 100%; border-collapse: separate; border-spacing: 0;
  font-size: 14px;
}
.bonus-snapshot__table th, .bonus-snapshot__table td {
  padding: 12px 16px; text-align: left;
  border-bottom: 1px solid #ececf0;
}
.bonus-snapshot__table th {
  background: #f9f9fc; font-size: 11px;
  text-transform: uppercase; color: #6f7897; font-weight: 700;
}
.bonus-snapshot__note, .casino-cards__compliance {
  padding: 12px 20px; margin: 0;
  background: #f9f9fc;
}
.casino-cards__placeholder {
  padding: 28px 24px; margin: 0;
  text-align: center; color: #6f7897;
  background: linear-gradient(135deg, #f9f9fc, #fff);
}
.casino-cards__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 14px;
  padding: 18px;
  background: linear-gradient(135deg, #f9f9fc, #fff);
}
.casino-card {
  background: #fff;
  border: 1px solid #e2e5f2;
  border-radius: 10px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 1px 2px rgba(20,18,30,.04), 0 10px 24px rgba(20,18,30,.06);
}
.casino-card__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
}
.casino-card__rank {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #6245d9, #a450fb);
  color: #fff;
  font-weight: 900;
  font-size: 12px;
}
.casino-card__brand {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
}
.casino-card__brand::before,
.casino-card__brand::after {
  content: none !important;
}
.casino-card__rating {
  color: #17621f;
  font-weight: 900;
  font-size: 13px;
}
.casino-card__facts {
  display: grid;
  gap: 7px;
  margin: 0;
}
.casino-card__facts div {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 8px;
  align-items: start;
  padding-bottom: 7px;
  border-bottom: 1px solid #f0f2f8;
}
.casino-card__facts div:last-child { border-bottom: 0; padding-bottom: 0; }
.casino-card__facts dt {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .45px;
  color: #6f7897;
  font-weight: 800;
}
.casino-card__facts dd {
  margin: 0;
  font-size: 13px;
  color: #2c2740;
  line-height: 1.35;
}
.casino-card__cta {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 8px;
  background: linear-gradient(180deg, #fccf59 0%, #ffe489 50%, #ffb25b 100%);
  color: #0b0b10;
  font-weight: 900;
  font-size: 14px;
}
.casino-cards__cta {
  display: block; padding: 14px 20px;
  text-align: center; background: #f9f9fc;
  color: #6245d9; font-weight: 700;
  border-top: 1px solid #ececf0;
}

.payment-chips {
  background: #fff; border-radius: 14px;
  padding: 22px 24px; margin: 18px 0;
  border: 1px solid #ececf0;
}
.payment-chips__caption {
  font-size: 13px !important;
  text-transform: uppercase; letter-spacing: 0.8px;
  color: #6f7897 !important; margin: 0 0 14px !important;
}
.payment-chips__list {
  display: flex; flex-wrap: wrap; gap: 8px;
  list-style: none !important; padding: 0 !important; margin: 0;
}
.payment-chips__chip {
  list-style: none !important; padding: 8px 14px !important;
  background: #f3f3f8; color: #1a1a2e;
  border-radius: 999px;
  font-size: 13px; font-weight: 700;
}
.payment-chips__chip::before { content: none !important; }
.payment-chips__note {
  margin: 12px 0 0; color: #6f7897;
}

/* pros-cons-grid */
.pros-cons-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 14px; margin: 18px 0;
}
.pros-cons-grid__col {
  background: linear-gradient(180deg, #fff 0%, #fbfbff 100%);
  border-radius: 8px;
  padding: 20px 22px;
  border: 1px solid #e2e5f2;
  box-shadow: 0 1px 2px rgba(20,18,30,.04), 0 10px 24px rgba(20,18,30,.05);
}
.pros-cons-grid__col--pros { border-top: 4px solid #20be2d; }
.pros-cons-grid__col--cons { border-top: 4px solid #c4421a; }
.pros-cons-grid__title {
  font-size: 14px !important;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin: 0 0 12px !important;
  font-weight: 800 !important;
  padding-bottom: 0 !important;
}
.pros-cons-grid__title::after { content: none !important; }
.pros-cons-grid__col--pros .pros-cons-grid__title { color: #1c8a26 !important; }
.pros-cons-grid__col--cons .pros-cons-grid__title { color: #c4421a !important; }
.pros-cons-grid__list {
  list-style: none !important; padding: 0 !important; margin: 0;
}
.pros-cons-grid__list li {
  list-style: none !important;
  padding: 6px 0 6px 24px !important;
  margin: 0 !important;
  position: relative;
  font-size: 14px; line-height: 1.55; color: #2c2740;
}
.pros-cons-grid__list li::before {
  content: ""; position: absolute;
  left: 4px; top: 12px;
  width: 10px; height: 10px; border-radius: 50%;
  background: none !important;
  box-shadow: none !important;
}
.pros-cons-grid__col--pros .pros-cons-grid__list li::before {
  content: "✓"; color: #20be2d; left: 0; top: 5px;
  width: auto; height: auto; font-weight: 800; font-size: 16px;
}
.pros-cons-grid__col--cons .pros-cons-grid__list li::before {
  content: "✕"; color: #c4421a; left: 0; top: 5px;
  width: auto; height: auto; font-weight: 800; font-size: 16px;
}

/* filter-chips (in-content) */
.filter-chips {
  margin: 16px 0;
}
.filter-chips__note {
  margin: 0 0 10px;
  color: #6f7897;
  font-size: 13px;
  line-height: 1.45;
}
.filter-chips__list {
  display: flex; flex-wrap: wrap; gap: 8px;
  list-style: none !important; padding: 0 !important; margin: 0;
}
.filter-chips__list li {
  list-style: none !important; padding: 0 !important;
}
.filter-chips__list li::before { content: none !important; }
.filter-chips__chip {
  display: inline-block; padding: 8px 14px;
  background: #f3f3f8; color: #6245d9;
  border-radius: 999px;
  font-size: 13px; font-weight: 700;
  text-decoration: none;
  border: 1px solid rgba(98,69,217,.15);
  transition: all 0.2s;
}
.filter-chips__chip:hover {
  background: #6245d9; color: #fff;
  border-color: #6245d9;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .pros-cons-grid { grid-template-columns: 1fr; }
  .image-strip__grid { grid-template-columns: 1fr; }
  .round-tabs__cards { grid-template-columns: 1fr; }
  .key-facts__row, .local-reqs__row, .entity-summary__row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .live-cards__row { grid-template-columns: 90px 1fr; }
  .round-tabs__row { grid-template-columns: 1fr; gap: 4px; }
  .quick-facts__list { gap: 14px 22px; }
}

/* ============================================================
   AUTO-WRAP SECTIONS (render-heading hook)
   Each H2 in .Content opens a new .block-wrapper.
   The very first <section> is empty (hook emits closer before
   first H2). Hide it.
   ============================================================ */
.page-article > section:first-of-type:empty,
.page-article > section.block-wrapper:empty,
.page-article__footer:empty {
  display: none;
}

/* Page article structure */
.page-article {
  max-width: var(--container-content-max);
  margin: 0 auto;
}

.page-article__header {
  padding-top: 32px;
  padding-bottom: 16px;
}
.page-article__header h1 {
  font-size: clamp(32px, 5vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #0e0a1f;
  margin-bottom: 8px;
}

.page-article__footer {
  padding: 24px 16px 64px;
  font-size: 13px;
  color: #6f7897;
  text-align: center;
}
.page-article__footer time { font-weight: 700; }
.page-article__footer a { color: #6245d9; font-weight: 700; }

/* H1-followed-by-paragraphs (lead area) outside any section */
.page-article > p:first-of-type,
.page-article > section:first-of-type > p:first-child {
  font-size: 17px;
  line-height: 1.65;
  color: #2c2740;
  font-weight: 500;
}

/* In auto-wrapped sections, paragraphs sit directly inside .block-wrapper */
.block-wrapper > p {
  margin: 14px 0;
  font-size: 16px;
  line-height: 1.65;
  color: #2c2740;
}

/* Section that contains only shortcodes — no extra padding-top */
.block-wrapper > .quick-facts:first-child,
.block-wrapper > .key-facts:first-child,
.block-wrapper > .live-status:first-child,
.block-wrapper > .live-cards__grid:first-child,
.block-wrapper > [class*="__grid"]:first-child {
  margin-top: 0;
}

/* If a shortcode is the first child after H2, tighten gap */
.block-wrapper h2 + section,
.block-wrapper h2 + figure,
.block-wrapper h2 + aside,
.block-wrapper h2 + nav,
.block-wrapper h2 + ol.stepper {
  margin-top: 18px;
}

/* Block-wrapper itself — keep styling from section above */
section.block-wrapper {
  /* inherits .block-wrapper styles */
}

/* ============================================================
   SHORTCODE STYLE OVERRIDES — палитра проекта
   Все компоненты сидят внутри .block-wrapper (auto-wrap),
   значит белый фон у них уже есть. Убираем double-card
   эффекты и переделываем под фирменные цвета.
   ============================================================ */

/* === Quick facts: горизонтальная полоса фактов под H1 === */
.block-wrapper .quick-facts {
  background: linear-gradient(135deg, #2a1468 0%, #4e2da8 60%, #381f80 100%);
  color: #fff;
  border: none;
  margin: 8px 0 24px;
  padding: 20px 28px;
  box-shadow: 0 12px 32px rgba(42, 20, 104, 0.25);
}
.block-wrapper .quick-facts .quick-facts__label {
  color: rgba(255, 255, 255, 0.65);
}
.block-wrapper .quick-facts .quick-facts__value {
  color: #fff;
  font-size: 17px;
}

/* === Key facts: убираем вложенный border + бекграунд, оставляем только структуру === */
.block-wrapper .key-facts,
.block-wrapper .local-reqs,
.block-wrapper .entity-summary {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0 0 8px;
}
.block-wrapper .key-facts__caption,
.block-wrapper .local-reqs__caption,
.block-wrapper .entity-summary__caption {
  display: none;
}
.block-wrapper .key-facts__row,
.block-wrapper .local-reqs__row,
.block-wrapper .entity-summary__row {
  border-color: #ececf0;
  padding: 12px 0;
}
.block-wrapper .key-facts__label,
.block-wrapper .local-reqs__label,
.block-wrapper .entity-summary__row dt {
  color: #6245d9;
}
.block-wrapper .entity-summary {
  margin-top: 24px;
  padding: 20px 24px;
  background: linear-gradient(135deg, rgba(98,69,217,.05), rgba(164,80,251,.03));
  border-left: 3px solid #6245d9;
  border-radius: 12px;
}

/* === TOC inside block-wrapper === */
.block-wrapper .toc-page {
  margin: 8px 0 24px;
  background: linear-gradient(135deg, rgba(98,69,217,.06) 0%, rgba(164,80,251,.04) 100%);
  border: 1px solid rgba(98,69,217,.14);
  padding: 20px 24px;
}

/* === Live status hero — оставляем тёмным, ярко выделен === */
/* (already styled, no override) */

/* === Live cards: чуть смягчить ===*/
.block-wrapper .live-cards__grid {
  margin: 18px 0 8px;
}
.block-wrapper .live-cards__card {
  background: linear-gradient(135deg, #fff 0%, #f9f9fc 100%);
  box-shadow: 0 2px 8px rgba(20,18,30,.05);
}

/* === Data table === */
.block-wrapper .data-table-wrap {
  margin: 18px 0 8px;
  box-shadow: 0 2px 8px rgba(20,18,30,.05);
}

/* === Bonus hits: фирменный фиолетовый === */
.block-wrapper .bonus-hits {
  background: linear-gradient(135deg, #fff 0%, #f6f4fc 100%);
  border-color: rgba(98,69,217,.12);
}
.block-wrapper .bonus-hits__item {
  background: #fff;
  border: 1px solid #ececf0;
}
.block-wrapper .bonus-hits__count {
  background: linear-gradient(135deg, #6245d9, #a450fb);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* === Predictor teaser: ярче градиент === */
.block-wrapper .predictor-teaser {
  background: linear-gradient(135deg, #2a1468 0%, #4e2da8 100%);
  color: #fff;
  border: none;
  margin: 18px 0;
  box-shadow: 0 12px 32px rgba(42, 20, 104, 0.25);
}
.block-wrapper .predictor-teaser__title {
  color: #fff !important;
}
.block-wrapper .predictor-teaser__warning {
  color: rgba(255,255,255,.65);
}
.block-wrapper .predictor-teaser__window {
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.85);
  border-color: rgba(255,255,255,.15);
}
.block-wrapper .predictor-teaser__window.is-active {
  background: linear-gradient(180deg, #fccf59, #ffb25b);
  color: #0e0a1f;
}
.block-wrapper .predictor-teaser__field {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.12);
}
.block-wrapper .predictor-teaser__field-label {
  color: rgba(255,255,255,.6);
}
.block-wrapper .predictor-teaser__field-value {
  color: #fff;
}
.block-wrapper .predictor-teaser__cta {
  background: linear-gradient(180deg, #fccf59 0%, #ffe489 50%, #ffb25b 100%);
  color: #0e0a1f;
  box-shadow: 0 6px 20px rgba(252,207,89,.4);
}

/* === Stepper: фирменный === */
.block-wrapper .stepper {
  margin: 18px 0;
  padding: 24px;
  background: linear-gradient(135deg, rgba(98,69,217,.04), rgba(164,80,251,.02));
  border-radius: 14px;
}
.block-wrapper .stepper__item {
  border-color: rgba(98,69,217,.1);
}

/* === Wheel segments: цветные сегменты === */
.block-wrapper .wheel-segments__item--number {
  background: #fff;
  border-color: #ececf0;
}
.block-wrapper .wheel-segments__item--number[data-name="1"] { border-top: 3px solid #ffd445; }
.block-wrapper .wheel-segments__item--number[data-name="2"] { border-top: 3px solid #3a8eff; }
.block-wrapper .wheel-segments__item--number[data-name="5"] { border-top: 3px solid #ff5e5e; }
.block-wrapper .wheel-segments__item--number[data-name="10"] { border-top: 3px solid #c89eff; }
.block-wrapper .wheel-segments__item--bonus {
  background: linear-gradient(135deg, #fff5e0, #ffe7b8);
  border-color: #ffd445;
  border-top: 3px solid #ff8a00;
}

/* === Round tabs: better contrast === */
.block-wrapper .round-tabs {
  background: linear-gradient(135deg, #fff 0%, #f9f9fc 100%);
  border-color: #ececf0;
}
.block-wrapper .round-tabs__btn {
  background: #fff;
  color: #6245d9;
  border: 1px solid rgba(98,69,217,.18);
}
.block-wrapper .round-tabs__btn.is-active {
  background: linear-gradient(135deg, #6245d9, #a450fb);
  color: #fff;
  border-color: transparent;
}

/* === Comparison table === */
.block-wrapper .comparison {
  margin: 18px 0;
  box-shadow: 0 2px 8px rgba(20,18,30,.05);
}

/* === Estimator: more brand === */
.block-wrapper .estimator {
  background: linear-gradient(135deg, rgba(98,69,217,.04), rgba(164,80,251,.02));
  border: 1px solid rgba(98,69,217,.12);
}
.block-wrapper .estimator__output {
  background: linear-gradient(135deg, #2a1468, #4e2da8);
  color: #fff;
  border: none;
}
.block-wrapper .estimator__output p {
  color: rgba(255,255,255,.85);
}
.block-wrapper .estimator__output strong {
  color: #ffd445;
}

/* === Info card (rtp-note) === */
.block-wrapper .info-card {
  background: linear-gradient(135deg, rgba(98,69,217,.06), rgba(164,80,251,.03));
  border: 1px solid rgba(98,69,217,.18);
  border-left: 4px solid #6245d9;
}

/* === Access cards: brighter === */
.block-wrapper .access-cards__card {
  background: linear-gradient(135deg, #fff 0%, #f6f4fc 100%);
  border-color: rgba(98,69,217,.1);
  border-top: 3px solid #6245d9;
  position: relative;
  overflow: hidden;
}
.block-wrapper .access-cards__card:hover { border-top-color: #a450fb; }
.block-wrapper .access-cards__cta {
  display: inline-block;
  margin-top: 8px;
}

/* === Mistake cards: red accent === */
.block-wrapper .mistake-cards__card {
  border-top: 3px solid #c4421a;
}

/* === Fit cards: уже есть border-top === */
/* (no override) */

/* === Device selector === */
.block-wrapper .device-selector {
  background: linear-gradient(135deg, rgba(98,69,217,.04), rgba(164,80,251,.02));
  border: 1px solid rgba(98,69,217,.12);
}
.block-wrapper .device-selector__tab {
  background: #fff;
  color: #6245d9;
  border: 1px solid rgba(98,69,217,.18);
}
.block-wrapper .device-selector__tab.is-active {
  background: linear-gradient(135deg, #6245d9, #a450fb);
  color: #fff;
  border-color: transparent;
}
.block-wrapper .device-selector__path {
  background: rgba(98,69,217,.04);
  border-left: 3px solid #6245d9;
}

/* === Session prompt: green vibe === */
.block-wrapper .session-prompt {
  background: linear-gradient(135deg, rgba(32,190,45,.06), rgba(101,250,113,.03));
  border: 1px solid rgba(32,190,45,.18);
  border-left: 4px solid #20be2d;
}

/* === Bonus snapshot, casino cards === */
.block-wrapper .bonus-snapshot,
.block-wrapper .casino-cards {
  margin: 18px 0;
  box-shadow: 0 2px 8px rgba(20,18,30,.05);
}
.block-wrapper .casino-cards__placeholder {
  padding: 32px 24px;
  background: linear-gradient(135deg, rgba(98,69,217,.04), rgba(164,80,251,.02));
}

/* === Payment chips === */
.block-wrapper .payment-chips {
  background: linear-gradient(135deg, #fff 0%, #f9f9fc 100%);
  border-color: #ececf0;
}
.block-wrapper .payment-chips__chip {
  background: linear-gradient(135deg, rgba(98,69,217,.08), rgba(164,80,251,.04));
  color: #4e2da8;
  border: 1px solid rgba(98,69,217,.15);
}

/* === Pros/cons grid: keep as-is, already brand === */
/* === Filter chips === */
.block-wrapper .filter-chips {
  margin: 18px 0;
}

/* === Callout: brighter === */
.block-wrapper .callout--info {
  border-left-width: 4px;
  background: linear-gradient(135deg, rgba(98,69,217,.08), transparent 60%);
}
.block-wrapper .callout--warning {
  border-left-width: 4px;
  background: linear-gradient(135deg, rgba(255,138,0,.10), transparent 60%);
}

/* === FAQ accordion: spec в block-wrapper === */
.block-wrapper .accordion-wrap {
  margin: 18px 0;
}
.block-wrapper .accordion-wrap > details {
  background: #fff;
  border: 1px solid #ececf0;
}

/* === Hero live status (full-width treatment) === */
.block-wrapper .live-status {
  margin-top: 4px;
}

/* === Mobile spacing === */
@media (max-width: 768px) {
  .block-wrapper .quick-facts { padding: 16px 20px; }
  .block-wrapper .predictor-teaser { padding: 20px; }
  .block-wrapper .stepper { padding: 18px; }
  .block-wrapper .estimator { padding: 18px 20px; }
}

/* ============================================================
   PAGE INTRO — wrapper around hero + intro paragraphs
   No background. Hero is full-width. Paragraphs are centered, readable.
   ============================================================ */
.page-article__intro {
  /* full-width container for hero + intro paragraphs */
}
.page-article__intro > .main-stream {
  /* hero stays full-width */
}
/* Paragraphs/CTAs/quick-facts/toc that sit between hero and first H2 */
.page-article__intro > p,
.page-article__intro > .quick-facts,
.page-article__intro > .toc-page {
  max-width: var(--container-content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}
.page-article__intro > p {
  font-size: 16px;
  line-height: 1.7;
  color: #2c2740;
  margin-top: 14px;
  margin-bottom: 14px;
}
.page-article__intro > p:first-of-type {
  font-size: 17px;
  line-height: 1.65;
  color: #1a1a2e;
  font-weight: 500;
  margin-top: 24px;
}

/* ============================================================
   UX/UI POLISH PASS — lists, tables, callouts within block-wrapper
   ============================================================ */

/* === Markdown LISTS внутри секций — больше "дыхания" === */
.block-wrapper > ul,
.block-wrapper > ol,
.block-wrapper section > ul,
.block-wrapper section > ol {
  margin: 14px 0 18px;
}

.block-wrapper > ul > li,
.block-wrapper section > ul > li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  line-height: 1.65;
  color: #2c2740;
  list-style: none;
}
.block-wrapper > ul > li::before,
.block-wrapper section > ul > li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 11px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6245d9, #a450fb);
  box-shadow: 0 0 0 3px rgba(98, 69, 217, 0.10);
}

/* Numbered lists — крупные circle badges */
.block-wrapper > ol > li,
.block-wrapper section > ol > li {
  position: relative;
  padding-left: 48px;
  margin-bottom: 14px;
  line-height: 1.65;
  color: #2c2740;
  list-style: none;
  counter-increment: ol-counter;
}
.block-wrapper > ol > li::before,
.block-wrapper section > ol > li::before {
  content: counter(ol-counter);
  position: absolute;
  left: 0;
  top: -2px;
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #6245d9, #a450fb);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
  box-shadow: 0 4px 12px rgba(98, 69, 217, 0.28);
}

/* Ordered list parent — counter reset */
.block-wrapper > ol,
.block-wrapper section > ol {
  counter-reset: ol-counter;
  padding-left: 0;
  list-style: none;
}

/* === Inline emphasis: better strong/em styling === */
.block-wrapper p strong,
.block-wrapper li strong {
  color: #0e0a1f;
  font-weight: 700;
  background: linear-gradient(180deg, transparent 60%, rgba(252, 207, 89, 0.25) 60%);
  padding: 0 2px;
}

.block-wrapper p em,
.block-wrapper li em {
  font-style: italic;
  color: #4e2da8;
}

/* === Inline code === */
.block-wrapper code {
  background: #f3f3f8;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.92em;
  color: #6245d9;
  border: 1px solid rgba(98, 69, 217, 0.10);
}

/* === Links inside block content === */
.block-wrapper a:not([class]) {
  color: #6245d9;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(98, 69, 217, 0.32);
  text-underline-offset: 3px;
  transition: text-decoration-color 0.2s, color 0.2s;
}
.block-wrapper a:not([class]):hover {
  color: #4e2da8;
  text-decoration-color: #6245d9;
}

/* === Blockquote === */
.block-wrapper blockquote {
  margin: 18px 0;
  padding: 14px 20px;
  background: linear-gradient(135deg, rgba(98, 69, 217, 0.04), rgba(164, 80, 251, 0.02));
  border-left: 4px solid #6245d9;
  border-radius: 0 8px 8px 0;
  color: #2c2740;
  font-style: italic;
}
.block-wrapper blockquote p:last-child { margin-bottom: 0; }

/* === Generic markdown TABLE — better than default === */
.block-wrapper > table,
.block-wrapper section > table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 18px 0;
  font-size: 14px;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #ececf0;
  box-shadow: 0 1px 2px rgba(20, 18, 30, 0.04), 0 4px 16px rgba(20, 18, 30, 0.05);
}

.block-wrapper > table th,
.block-wrapper > table td,
.block-wrapper section > table th,
.block-wrapper section > table td {
  padding: 14px 18px;
  text-align: left;
  border-bottom: 1px solid #ececf0;
  vertical-align: top;
}

.block-wrapper > table th,
.block-wrapper section > table th {
  background: linear-gradient(180deg, #f9f9fc, #f3f3f8);
  font-weight: 700;
  color: #0e0a1f;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.block-wrapper > table tr:last-child td,
.block-wrapper section > table tr:last-child td {
  border-bottom: none;
}

.block-wrapper > table tbody tr,
.block-wrapper section > table tbody tr {
  transition: background 0.15s;
}

.block-wrapper > table tbody tr:hover,
.block-wrapper section > table tbody tr:hover {
  background: #f9f9fc;
}

/* Table number alignment (numbers right-aligned) */
.block-wrapper > table td:not(:first-child),
.block-wrapper section > table td:not(:first-child) {
  font-variant-numeric: tabular-nums;
}

/* Mobile table scroll wrapper */
@media (max-width: 768px) {
  .block-wrapper > table,
  .block-wrapper section > table {
    font-size: 13px;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .block-wrapper > table th,
  .block-wrapper > table td {
    padding: 10px 14px;
    white-space: nowrap;
  }
}

/* === HR — fancy divider === */
.block-wrapper hr {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, transparent, #ececf0, transparent);
  margin: 28px 0;
}

/* === Image figures inside block-wrapper === */
.block-wrapper figure {
  margin: 18px 0;
}
.block-wrapper figure img {
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(20, 18, 30, 0.08);
}
.block-wrapper figure figcaption {
  margin-top: 8px;
  font-size: 13px;
  color: #6f7897;
  text-align: center;
  font-style: italic;
}

/* === Section spacing fix — first child no margin-top === */
.block-wrapper > h2 + p,
.block-wrapper > h2 + ul,
.block-wrapper > h2 + ol {
  margin-top: 16px;
}

/* === H3 — better hierarchy под H2 === */
.block-wrapper h3 {
  font-size: 22px;
  margin: 28px 0 12px;
  color: #1a1a2e;
  letter-spacing: -0.015em;
  position: relative;
  padding-left: 16px;
}
.block-wrapper h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 4px;
  background: linear-gradient(180deg, #6245d9, #a450fb);
  border-radius: 2px;
}

/* === H4 (внутри cards/stepper) === */
.block-wrapper h4 {
  font-size: 17px;
  font-weight: 800;
  color: #0e0a1f;
  margin: 14px 0 6px;
}

/* === Reduce spacing between consecutive shortcodes === */
.block-wrapper > section + section,
.block-wrapper > figure + figure,
.block-wrapper > aside + aside,
.block-wrapper > nav + nav {
  margin-top: 16px;
}

/* === Make .block-wrapper full-width for casino/data tables === */
.block-wrapper > .data-table-wrap,
.block-wrapper > .comparison,
.block-wrapper > .bonus-snapshot {
  margin-left: -8px;
  margin-right: -8px;
}
@media (min-width: 768px) {
  .block-wrapper > .data-table-wrap,
  .block-wrapper > .comparison,
  .block-wrapper > .bonus-snapshot {
    margin-left: 0;
    margin-right: 0;
  }
}
