/*
 * Privacy policy body (sections/privacy-text.php).
 *
 * The page is a wall of legal body copy. A single column capped at a readable
 * line length would leave the right half of a wide monitor empty - the exact
 * complaint the client raised about /o-kompanii - so the cap stays and the
 * width is filled by layout instead: a narrow aside with the revision date
 * and the operator contacts next to the wide text column. The aside sticks
 * below the sticky header while the long document scrolls, so the contact
 * for a deletion or withdrawal request is always on screen.
 */

.privacy {
    padding: 3vw 0 4vw;
}

.privacy__layout {
    --bs-gutter-x: 3.33vw;
    --bs-gutter-y: 2.08vw;
}

.privacy__meta {
    position: sticky;
    top: calc(var(--header-height) + 1.67vw);
    align-self: start;
    padding: 1.67vw;
    background: var(--color-surface-muted);
    border-radius: var(--radius);
}

.privacy__updated {
    font-size: 0.83vw;
    color: var(--color-text-muted);
    margin: 0 0 1.04vw;
}

.privacy__meta-title {
    font-size: 1.04vw;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-primary);
    margin: 0 0 0.83vw;
}

.privacy__contacts {
    list-style: none;
    margin: 0;
    padding: 0;
}

.privacy__contacts li {
    margin-bottom: 0.42vw;
    color: var(--color-text);
}

.privacy__contacts li:last-child {
    margin-bottom: 0;
}

.privacy__contacts a {
    color: var(--color-text);
    text-decoration: underline;
    transition: color 0.2s ease;
}

.privacy__contacts a:hover,
.privacy__contacts a:focus-visible {
    color: var(--color-accent);
}

.privacy__legal {
    margin: 1.04vw 0 0;
    padding-top: 1.04vw;
    border-top: 1px solid var(--color-border);
    font-size: 0.83vw;
    color: var(--color-text-muted);
}

.privacy__legal-label {
    display: block;
    font-weight: 700;
    color: var(--color-text);
}

.privacy__heading {
    max-width: 44em;
    font-size: 1.25vw;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-primary);
    margin: 2.08vw 0 1.04vw;
}

.privacy__heading:first-child {
    margin-top: 0;
}

.privacy__paragraph {
    max-width: 44em;
    color: var(--color-text);
    margin: 0 0 1.04vw;
}

.privacy__paragraph:last-child {
    margin-bottom: 0;
}

@media only screen and (max-width: 767.98px) {
    .privacy {
        padding: 6vw 0 8vw;
    }

    .privacy__layout {
        --bs-gutter-x: 4.27vw;
        --bs-gutter-y: 6.4vw;
    }

    .privacy__meta {
        position: static;
        padding: 5.33vw 4.27vw;
    }

    .privacy__updated {
        font-size: 3.73vw;
        margin: 0 0 4.27vw;
    }

    .privacy__meta-title {
        font-size: 5.33vw;
        margin: 0 0 3.2vw;
    }

    .privacy__contacts li {
        margin-bottom: 2.13vw;
    }

    .privacy__legal {
        margin: 4.27vw 0 0;
        padding-top: 4.27vw;
        font-size: 3.73vw;
    }

    .privacy__heading {
        max-width: none;
        font-size: 5.33vw;
        margin: 8vw 0 4vw;
    }

    .privacy__paragraph {
        max-width: none;
        margin: 0 0 4vw;
    }
}
