.hero--ruletka {
  position: relative;
}

.hero-ruletka__media {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-ruletka__card {
  max-width: 420px;
}

.ruletka-figure {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-elevated);
}

.ruletka-figcaption {
  padding: var(--space-3) var(--space-4);
  font-size: var(--font-size-xs);
  color: var(--gray-300);
  background: radial-gradient(circle at top, rgba(15, 23, 42, 0.96), rgba(5, 8, 20, 1));
}

.ruletka-list {
  list-style: disc;
  padding-left: 1.25rem;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.ruletka-list li + li {
  margin-top: 0.45rem;
}

.ruletka-subheading {
  font-size: var(--font-size-base);
}

.section--vegas {
  background: radial-gradient(circle at top left, rgba(59, 130, 246, 0.12), transparent 55%),
              radial-gradient(circle at bottom right, rgba(250, 204, 107, 0.12), transparent 60%);
}

.section--decor {
  background: radial-gradient(circle at top, rgba(15, 23, 42, 0.9), rgba(5, 8, 20, 1));
}

.section--cta {
  background: radial-gradient(circle at top right, rgba(59, 130, 246, 0.14), transparent 60%),
              radial-gradient(circle at bottom left, rgba(250, 204, 107, 0.12), transparent 65%);
}

.section--legal {
  background: rgba(5, 8, 20, 0.98);
}

.ruletka-steps {
  counter-reset: step;
  list-style: none;
  padding-left: 0;
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.ruletka-steps li {
  position: relative;
  padding-left: 2.25rem;
}

.ruletka-steps li::before {
  counter-increment: step;
  content: counter(step);
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-accent-gold), #f59e0b);
  color: #0b1020;
  font-size: var(--font-size-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  box-shadow: var(--shadow-soft);
}

.ruletka-steps li + li {
  margin-top: 0.8rem;
}

.ruletka-cta-panel {
  height: 100%;
}

.ruletka-cta-note {
  font-size: var(--font-size-xs);
  color: var(--gray-400);
}

.ruletka-legal-card p + p {
  margin-top: var(--space-3);
}

@media (max-width: 767px) {
  .hero-ruletka__media {
    margin-top: var(--space-6);
  }
}
