/*
 * Regulamin (terms-of-service) — statyczna strona prawna.
 *
 * Tylko tryb ciemny — tryb jasny wykluczony z projektu (brak [data-theme="light"]).
 * Layout typu dokument: wąska kolumna czytelnicza, numerowane klauzule (§),
 * podlisty wypunktowane i literowe a) b) c), pogrubione definicje.
 */

.tos {
    background: var(--theme-bg);
    color: var(--theme-text);
    font-family: var(--font-base);
    line-height: 1.75;
    padding: 3rem 0 5rem;
    overflow: clip;
}

.tos__container {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* ── Nagłówek strony ── */
.tos__header {
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid var(--theme-accent-text);
}

.tos__title {
    margin: 0;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--theme-heading);
}

/* ── Sekcje § ── */
.tos__section {
    margin-bottom: 2.5rem;
}

.tos__heading {
    margin: 0 0 1rem;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--theme-heading);
}

.tos__intro {
    margin: 0 0 1rem;
}

/* ── Numerowane klauzule (1. 2. 3.) ── */
.tos__list {
    margin: 0;
    padding-left: 1.75rem;
    list-style: decimal;
}

.tos__list > li {
    margin-bottom: 0.85rem;
    padding-left: 0.35rem;
}

.tos__list > li::marker {
    color: var(--theme-accent-text);
    font-weight: 700;
}

.tos__list > li > strong {
    color: var(--theme-heading);
}

/* ── Podlisty wypunktowane ── */
.tos__sublist {
    margin: 0.6rem 0 0.2rem;
    padding-left: 1.5rem;
    list-style: disc;
}

.tos__sublist > li {
    margin-bottom: 0.35rem;
}

.tos__sublist > li::marker {
    color: var(--theme-accent-text);
}

/* ── Podlisty literowe a) b) c) (CSS counter zamiast natywnego "a.") ── */
.tos__sublist--alpha {
    list-style: none;
    counter-reset: tos-alpha;
    padding-left: 1.75rem;
}

.tos__sublist--alpha > li {
    counter-increment: tos-alpha;
    position: relative;
    margin-bottom: 0.45rem;
    padding-left: 0.4rem;
}

.tos__sublist--alpha > li::before {
    content: counter(tos-alpha, lower-alpha) ")";
    position: absolute;
    left: -1.25rem;
    color: var(--theme-accent-text);
    font-weight: 600;
}

/* ── Lista definicji (§2) — pogrubione terminy ── */
.tos__definitions {
    margin: 0;
    padding-left: 1.5rem;
    list-style: disc;
}

.tos__definitions > li {
    margin-bottom: 0.65rem;
}

.tos__definitions > li::marker {
    color: var(--theme-accent-text);
}

.tos__definitions strong {
    color: var(--theme-heading);
}

/* ── Blok adresowy administratora ── */
.tos__address {
    margin: 0.5rem 0 0;
    color: var(--theme-text-secondary);
}

/* ── Linki (reset.css narzuca crimson na stany — definiujemy wszystkie) ── */
.tos a {
    color: var(--theme-accent-text);
    text-decoration: underline;
    text-underline-offset: 2px;
    word-break: break-word;
}

.tos a:hover,
.tos a:focus,
.tos a:active,
.tos a:focus-visible,
.tos a:visited {
    color: var(--theme-accent-text);
    text-decoration: none;
}

/* ── Mobile ── */
@media (max-width: 767px) {
    .tos {
        padding: 2rem 0 3.5rem;
    }

    .tos__title {
        font-size: 1.75rem;
    }

    .tos__heading {
        font-size: 1.2rem;
    }

    .tos__list {
        padding-left: 1.4rem;
    }
}
