/**
 * /polityka-prywatnosci — style prozy prawnej.
 * global.css nie ma bazowych styli h1–h6/p, więc definiujemy je tu, ZAMKNIĘTE w .legal.
 * Tokeny (--navy*, --yellow, --font-*) i komponenty (.btn) pochodzą z global.css — nie duplikuj.
 */

.legal {
    max-width: 820px;
    margin: 0 auto;
    padding: 9rem 1.5rem 6rem;
    position: relative;
    z-index: 1;
}

.legal__eyebrow {
    display: inline-flex; align-items: center; gap: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.7rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase;
    color: var(--yellow);
    margin-bottom: 1rem;
}
.legal__eyebrow-icon { display: block; }

.legal__title {
    font-family: var(--font-display);
    font-weight: 700; line-height: 1.1;
    font-size: clamp(2.1rem, 5vw, 3.2rem);
    color: var(--white);
}

.legal__updated {
    font-family: var(--font-mono);
    font-size: 0.78rem; color: rgba(255,255,255,0.5);
    margin-top: 0.85rem;
}

.legal__lead {
    font-weight: 300; font-size: 1.05rem; line-height: 1.75;
    color: rgba(255,255,255,0.8);
    margin-top: 1.75rem;
}

/* Nagłówki sekcji i akapity */
.legal h2 {
    font-family: var(--font-display);
    font-weight: 700; font-size: 1.5rem; line-height: 1.25;
    color: var(--white);
    margin-top: 2.75rem;
}
.legal h3 {
    font-family: var(--font-display);
    font-weight: 600; font-size: 1.1rem;
    color: var(--white);
    margin-top: 1.75rem;
}
.legal p {
    font-weight: 300; font-size: 0.95rem; line-height: 1.75;
    color: rgba(255,255,255,0.72);
    margin-top: 1rem;
}
.legal a { color: var(--yellow); text-underline-offset: 2px; }
.legal a:hover { color: var(--yellow-glow); }
.legal strong { font-weight: 600; color: rgba(255,255,255,0.9); }
.legal code {
    font-family: var(--font-mono);
    font-size: 0.88em;
    color: rgba(255,255,255,0.9);
    overflow-wrap: anywhere;
}

.legal__toc {
    margin-top: 2rem;
    padding: 1.25rem 1.5rem;
    border-left: 3px solid var(--yellow);
    background: rgba(255,255,255,0.02);
}
.legal__toc .legal__toc-title {
    margin: 0 0 0.75rem;
    font-size: 1rem;
}
.legal__toc ul {
    list-style: none;
    display: flex; flex-wrap: wrap; gap: 0.55rem 1.25rem;
    margin: 0; padding: 0;
}
.legal__toc a { font-size: 0.88rem; }

.legal__list {
    list-style: none; padding: 0; margin: 1rem 0 0;
    display: flex; flex-direction: column; gap: 0.65rem;
}
.legal__list li {
    position: relative; padding-left: 1.4rem;
    font-weight: 300; font-size: 0.95rem; line-height: 1.65;
    color: rgba(255,255,255,0.72);
}
.legal__list li::before {
    content: ""; position: absolute; left: 0; top: 0.6rem;
    width: 7px; height: 7px; border-radius: 50%;
    background: var(--yellow);
}

/* Ramka „Administrator danych” */
.legal__box {
    margin-top: 2.25rem;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(254,204,0,0.18);
    border-radius: 16px;
    padding: 1.5rem 1.75rem;
}
.legal__box-title {
    font-family: var(--font-display);
    font-weight: 700; font-size: 1.15rem; color: var(--white);
    margin-bottom: 0.25rem;
}

/* Tabela kategorii — przewija się w poziomie na wąskich ekranach, nie rozjeżdża strony */
.legal__table-wrap { margin-top: 1.25rem; overflow-x: auto; }
.legal__table-wrap:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 4px;
    border-radius: 8px;
}
.legal__table {
    width: 100%; border-collapse: collapse;
    font-size: 0.9rem; min-width: 460px;
}
.legal__table--wide { min-width: 680px; }
.legal__table th, .legal__table td {
    text-align: left; padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    vertical-align: top;
}
.legal__table th {
    font-family: var(--font-mono);
    font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
    color: var(--yellow);
}
.legal__table td {
    font-weight: 300; color: rgba(255,255,255,0.72); line-height: 1.55;
}
.legal__table tbody tr:last-child td { border-bottom: 0; }

.legal__prefs-btn { margin-top: 0.35rem; }
.legal .legal__note {
    font-size: 0.83rem;
    color: rgba(255,255,255,0.58);
}

/* Kotwice sekcji nie chowają się pod stałym nagłówkiem. */
.legal [id] { scroll-margin-top: 7rem; }

@media (max-width: 768px) {
    .legal { padding: 7rem 1.25rem 4rem; }
    .legal__toc { padding: 1.1rem 1.25rem; }
    .legal__toc ul { flex-direction: column; gap: 0.4rem; }
}
