/* Regulamin page styles — scoped to .regulamin-page */

.regulamin-page {
    background-color: var(--color-travertine-cream);
    color: var(--color-graphite);
    padding-block: var(--space-3xl) var(--space-4xl);
}

.regulamin-page__container {
    width: 100%;
    max-width: 720px;
    margin-inline: auto;
    padding-inline: var(--container-padding-mobile);
}

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

.regulamin-page__eyebrow {
    font-family: var(--font-body);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    letter-spacing: var(--text-caption-letter-spacing);
    font-weight: var(--text-caption-weight);
    text-transform: uppercase;
    color: var(--color-muted-graphite);
    margin-block-end: var(--space-sm);
}

.regulamin-page__title {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line-height);
    letter-spacing: var(--text-h1-letter-spacing);
    font-weight: var(--text-h1-weight);
    color: var(--color-graphite);
    margin-block-end: var(--space-md);
}

.regulamin-page__effective-date {
    font-family: var(--font-body);
    font-size: var(--text-body-small-size);
    line-height: var(--text-body-small-line-height);
    letter-spacing: var(--text-caption-letter-spacing);
    font-weight: 500;
    text-transform: uppercase;
    color: var(--color-muted-graphite);
    margin-block-end: 0;
}

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

.regulamin-section--final {
    margin-block-end: 0;
}

.regulamin-section__heading {
    position: relative;
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line-height);
    letter-spacing: var(--text-h2-letter-spacing);
    font-weight: var(--text-h2-weight);
    color: var(--color-graphite);
    margin-block-end: var(--space-lg);
    padding-block-start: var(--space-md);
}

.regulamin-section__heading::before {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background-color: var(--color-brushed-bronze);
    margin-block-end: var(--space-sm);
}

.regulamin-section__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.regulamin-section__lead {
    font-size: var(--text-body-large-size);
    line-height: var(--text-body-large-line-height);
    letter-spacing: var(--text-body-large-letter-spacing);
    font-weight: var(--text-body-large-weight);
    color: var(--color-graphite);
    margin-block-end: 0;
}

.regulamin-section__subheading {
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-line-height);
    letter-spacing: var(--text-h3-letter-spacing);
    font-weight: var(--text-h3-weight);
    color: var(--color-graphite);
    margin-block-end: var(--space-sm);
}

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

.regulamin-section__list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.regulamin-section__list li {
    position: relative;
    padding-inline-start: var(--space-lg);
    color: var(--color-graphite);
}

.regulamin-section__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--color-brushed-bronze);
}

.regulamin-section__definitions {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    margin-block-end: 0;
}

.regulamin-section__definition-item {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
}

.regulamin-section__definition-item dt {
    font-family: var(--font-body);
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    font-weight: 600;
    color: var(--color-forest-green);
}

.regulamin-section__definition-item dd {
    margin-inline-start: 0;
    color: var(--color-graphite);
}

.regulamin-section__content a {
    color: var(--color-forest-green);
    text-decoration: underline;
    text-decoration-color: var(--color-brushed-bronze);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color var(--transition-fast);
}

.regulamin-section__content a:hover {
    color: var(--color-terracotta);
    text-decoration-color: var(--color-brushed-bronze);
}

.regulamin-section__content a:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
    border-radius: var(--radius-sm);
}

@media (min-width: 48rem) {
    .regulamin-page {
        padding-block: var(--space-4xl) var(--space-5xl);
    }

    .regulamin-page__container {
        padding-inline: var(--container-padding-tablet);
    }

    .regulamin-section__heading {
        font-size: var(--text-h2-size);
    }
}

@media (min-width: 75rem) {
    .regulamin-page__container {
        padding-inline: var(--container-padding-desktop);
    }
}

@media (max-width: 47.9375rem) {
    .regulamin-page {
        padding-block: var(--space-2xl) var(--space-3xl);
    }

    .regulamin-page__container {
        padding-inline: var(--container-padding-mobile);
    }

    .regulamin-page__title {
        font-size: clamp(2rem, 1.5rem + 2.2vw, 2.75rem);
    }

    .regulamin-section__heading {
        font-size: clamp(1.625rem, 1.3rem + 1.4vw, 2.125rem);
    }
}

@media (max-width: 29.9375rem) {
    .regulamin-page__container {
        padding-inline: var(--container-padding-mobile);
    }

    .regulamin-page__title {
        font-size: 2rem;
    }

    .regulamin-section__heading {
        font-size: 1.625rem;
    }

    .regulamin-section__lead {
        font-size: var(--text-body-size);
    }
}
