/* Regulamin page styles — scoped to #regulamin-page */
#regulamin-page {
  --regulamin-measure: 680px;
}

.regulamin-article {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--page-margin-mobile);
  padding-block: var(--space-2xl) var(--space-3xl);
}

.regulamin-masthead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  max-width: var(--regulamin-measure);
  margin-inline: auto;
  text-align: center;
  padding-block-end: var(--space-xl);
  margin-block-end: var(--space-2xl);
  border-block-end: var(--border-rule-strong);
}

.regulamin-meta,
.regulamin-date,
.regulamin-effective {
  font-size: var(--text-label);
  line-height: var(--leading-label);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-ink-soft);
  margin: 0;
}

.regulamin-rule {
  width: 100%;
  height: 1px;
  background-color: var(--color-sepia);
  margin-block: var(--space-sm);
}

.regulamin-title {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  font-weight: 700;
  color: var(--color-ink);
  margin: 0;
  max-width: 100%;
}

.regulamin-section {
  width: 100%;
  max-width: var(--regulamin-measure);
  margin-inline: auto;
  padding-block: var(--space-xl);
  border-block-start: var(--border-rule);
}

.regulamin-section:first-of-type {
  border-block-start: none;
}

.regulamin-section h2 {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: 600;
  color: var(--color-ink);
  margin: 0 0 var(--space-lg);
}

.regulamin-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  width: 100%;
}

.regulamin-copy p {
  margin: 0;
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-ink);
}

.regulamin-copy p + p {
  margin-block-start: var(--space-md);
}

.regulamin-dropcap::first-letter {
  font-family: var(--font-heading);
  font-size: 4.5em;
  line-height: 0.8;
  font-weight: 700;
  color: var(--color-cherry);
  float: left;
  margin: 0.05em 0.12em 0 0;
}

.regulamin-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin: 0;
  padding-inline-start: var(--space-lg);
  list-style-type: square;
  color: var(--color-ink);
}

.regulamin-list li {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-ink);
  padding-inline-start: var(--space-xs);
}

.regulamin-list li::marker {
  color: var(--color-sepia);
}

.regulamin-callout {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  width: 100%;
  background-color: var(--color-cherry-wash);
  border-inline-start: var(--border-rule-accent);
  padding: var(--space-lg);
  margin-block-start: var(--space-md);
}

.regulamin-callout-title {
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-cherry-dark);
  margin: 0;
}

.regulamin-callout p {
  margin: 0;
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-ink);
}

.regulamin-final-date {
  font-weight: 400;
}

.regulamin-final-date strong {
  font-weight: 700;
  color: var(--color-cherry-dark);
}

@media (min-width: 768px) {
  .regulamin-article {
    padding-inline: var(--page-margin-tablet);
    padding-block: var(--space-3xl) var(--space-4xl);
  }

  .regulamin-masthead {
    padding-block-end: var(--space-xl);
    margin-block-end: var(--space-3xl);
  }

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

@media (min-width: 1024px) {
  .regulamin-article {
    padding-inline: var(--page-margin-desktop);
  }
}

@media (max-width: 767px) {
  .regulamin-article {
    padding-block: var(--space-xl) var(--space-2xl);
  }

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

  .regulamin-title {
    font-size: clamp(2rem, 8vw, 2.8rem);
  }

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

  .regulamin-dropcap::first-letter {
    font-size: 3.5em;
  }

  .regulamin-callout {
    padding: var(--space-md);
  }
}
