.regulamin-page {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.regulamin-section {
  padding-block: var(--space-xl);
}

.regulamin-section--intro {
  background-color: var(--color-ivory);
  padding-block-start: var(--space-2xl);
  padding-block-end: var(--space-xl);
}

.regulamin-section--light {
  background-color: var(--color-ivory);
}

.regulamin-section--dark {
  background-color: var(--color-walnut);
  color: var(--color-text-on-dark);
}

.regulamin-section--casino {
  background: radial-gradient(ellipse at center, rgba(74, 55, 40, 0.98) 0%, rgba(58, 43, 30, 1) 100%);
}

.regulamin-section--security {
  background-color: var(--color-walnut-dark);
}

.regulamin-section--final {
  background-color: var(--color-walnut);
  border-block-start: 1px solid var(--color-gold);
}

.regulamin-container {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.regulamin-copy {
  max-width: 720px;
  margin-inline: 0;
  text-align: left;
}

.regulamin-copy--dark {
  color: var(--color-text-on-dark);
}

.regulamin-copy--dark h2,
.regulamin-copy--dark h3 {
  color: var(--color-text-on-dark);
}

.regulamin-copy--dark h3 {
  color: var(--color-gold);
}

.regulamin-copy--dark p,
.regulamin-copy--dark li {
  color: var(--color-muted-on-dark);
}

.regulamin-copy--dark a {
  color: var(--color-gold);
}

.regulamin-copy--dark a:hover {
  color: var(--color-text-on-dark);
}

.regulamin-lead {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--color-muted-on-light);
  margin-block-end: var(--space-md);
}

.regulamin-lead strong {
  color: var(--color-emerald);
}

.regulamin-copy h1 {
  color: var(--color-emerald);
  margin-block-end: var(--space-md);
}

.regulamin-copy h2 {
  color: var(--color-emerald);
  margin-block-end: var(--space-lg);
  padding-block-end: var(--space-sm);
  border-block-end: 1px solid var(--color-border-light);
}

.regulamin-copy--dark h2 {
  color: var(--color-text-on-dark);
  border-block-end-color: var(--color-border-dark);
}

.regulamin-copy h3 {
  color: var(--color-emerald);
  margin-block-end: var(--space-sm);
}

.regulamin-block {
  margin-block-end: var(--space-lg);
}

.regulamin-block:last-child {
  margin-block-end: 0;
}

.regulamin-block p {
  margin-block-end: var(--space-sm);
}

.regulamin-block p:last-child {
  margin-block-end: 0;
}

.regulamin-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.regulamin-list li {
  position: relative;
  padding-inline-start: 1.75rem;
  color: var(--color-text-on-light);
}

.regulamin-list li::before {
  content: "◆";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-gold);
  font-size: 0.75rem;
  line-height: 1.6;
}

.regulamin-copy--dark .regulamin-list li {
  color: var(--color-muted-on-dark);
}

.regulamin-copy--dark .regulamin-list li::before {
  color: var(--color-gold);
}

.regulamin-definitions,
.regulamin-scope {
  margin-block-end: var(--space-lg);
}

.regulamin-definitions:last-child,
.regulamin-scope:last-child {
  margin-block-end: 0;
}

.regulamin-copy a {
  color: var(--color-emerald);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.regulamin-copy a:hover {
  color: var(--color-emerald-dark);
}

@media (max-width: 1024px) {
  .regulamin-section {
    padding-block: var(--space-lg);
  }

  .regulamin-section--intro {
    padding-block-start: var(--space-xl);
    padding-block-end: var(--space-lg);
  }
}

@media (max-width: 768px) {
  .regulamin-section {
    padding-block: var(--space-md);
  }

  .regulamin-section--intro {
    padding-block-start: var(--space-lg);
    padding-block-end: var(--space-md);
  }

  .regulamin-copy {
    max-width: 100%;
  }

  .regulamin-lead {
    font-size: 1rem;
  }

  .regulamin-copy h2 {
    margin-block-end: var(--space-md);
  }

  .regulamin-block {
    margin-block-end: var(--space-md);
  }
}

@media (max-width: 480px) {
  .regulamin-section {
    padding-block: var(--space-md);
  }

  .regulamin-section--intro {
    padding-block-start: var(--space-lg);
    padding-block-end: var(--space-md);
  }

  .regulamin-copy h1 {
    font-size: clamp(1.75rem, 8vw, 2.25rem);
  }

  .regulamin-copy h2 {
    font-size: clamp(1.35rem, 6vw, 1.75rem);
  }

  .regulamin-copy h3 {
    font-size: clamp(1.15rem, 5vw, 1.35rem);
  }

  .regulamin-list li {
    padding-inline-start: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .regulamin-page,
  .regulamin-section,
  .regulamin-copy,
  .regulamin-block,
  .regulamin-list {
    transition: none;
    animation: none;
  }
}
