/* ==========================================================================
   Dokumenty prawne (regulamin, polityka prywatności) — wspólna warstwa
   Wspolna baza (zmienne, typografia, przyciski, reveal): editorial.css
   ========================================================================== */

/* --- Spis paragrafow ------------------------------------------------------ */

.legal-page .doc-toc {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0 clamp(1.5rem, 4vw, 3rem);
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--line);
}

@media (min-width: 620px) {
    .legal-page .doc-toc {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1000px) {
    .legal-page .doc-toc {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.legal-page .doc-toc li {
    border-bottom: 1px solid var(--line);
}

/* Flex, a nie grid ze stala kolumna - polityka prywatnosci nie numeruje
   sekcji, wiec numer musi byc opcjonalny. */
.legal-page .doc-toc a {
    display: flex;
    gap: .75rem;
    align-items: baseline;
    padding-block: .9rem;
    text-decoration: none;
    font-size: .95rem;
    line-height: 1.4;
    color: var(--ink-soft);
    transition: color .2s ease;
}

.legal-page .doc-toc .doc-num {
    flex: 0 0 auto;
    min-width: 2rem;
}

.legal-page .doc-toc a:hover,
.legal-page .doc-toc a:focus-visible {
    color: var(--ink);
}

.legal-page .doc-toc .doc-num {
    font-weight: 600;
    color: var(--ink-faint);
    font-variant-numeric: tabular-nums;
}

.legal-page .doc-toc a:hover .doc-num {
    color: var(--accent);
}

/* --- Paragraf ------------------------------------------------------------- */

.legal-page .doc-para {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 3rem);
    padding-block: clamp(1.75rem, 4vw, 2.75rem);
    border-top: 1px solid var(--line);
    scroll-margin-top: 2rem;
}

.legal-page .doc-para:first-of-type {
    border-top: 0;
}

@media (min-width: 900px) {
    .legal-page .doc-para {
        grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
    }

    .legal-page .doc-para > .doc-head {
        position: sticky;
        top: 2.5rem;
        align-self: start;
    }
}

.legal-page .doc-head h2 {
    margin: 0;
    /* Waska kolumna - wlasna, mniejsza skala niz globalne h2. */
    font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem);
    font-weight: 500;
    line-height: 1.3;
    color: var(--ink);
}

.legal-page .doc-head .doc-num {
    display: block;
    margin-bottom: .5rem;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .18em;
    color: var(--accent);
    font-variant-numeric: tabular-nums;
}

/* --- Punkty --------------------------------------------------------------- */

.legal-page .doc-points {
    counter-reset: punkt;
    list-style: none;
    margin: 0;
    padding: 0;
}

.legal-page .doc-points > li {
    counter-increment: punkt;
    position: relative;
    padding: 0 0 1rem 2.5rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--line);
    font-size: var(--step-body);
    line-height: 1.75;
    color: var(--ink-soft);
}

.legal-page .doc-points > li:last-child {
    margin-bottom: 0;
    border-bottom: 0;
    padding-bottom: 0;
}

/* Numeracja pozwala odwolywac sie do konkretnego punktu ("§6 pkt 4"). */
.legal-page .doc-points > li::before {
    content: counter(punkt) ".";
    position: absolute;
    left: 0;
    top: 0;
    width: 2rem;
    font-size: .85rem;
    font-weight: 600;
    line-height: 2.1;
    color: var(--ink-faint);
    font-variant-numeric: tabular-nums;
}

/* --- Podpunkty ------------------------------------------------------------ */

.legal-page .doc-sub {
    list-style: none;
    margin: .85rem 0 0;
    padding: 0;
}

.legal-page .doc-sub li {
    position: relative;
    padding-left: 1.4rem;
    margin-bottom: .5rem;
    line-height: 1.65;
}

.legal-page .doc-sub li:last-child {
    margin-bottom: 0;
}

.legal-page .doc-sub li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .85em;
    width: 6px;
    height: 1px;
    background: var(--accent);
}

/* --- Dane i metryka ------------------------------------------------------- */

.legal-page .doc-entity {
    font-size: var(--step-body);
    line-height: 1.7;
    color: var(--ink-soft);
    max-width: 46ch;
}

/* Bez white-space: nowrap - numer konta ma ~330px i na waskich ekranach
   rozpychal uklad. Spacje miedzy grupami cyfr daja naturalne miejsca lamania. */
.legal-page .doc-account {
    display: inline-block;
    font-variant-numeric: tabular-nums;
    letter-spacing: .02em;
    color: var(--ink);
    font-weight: 600;
}

.legal-page .doc-meta {
    margin: 0;
    font-size: .875rem;
    color: var(--ink-faint);
}

@media (prefers-reduced-motion: reduce) {
    .legal-page .doc-toc a {
        transition: none;
    }
}
