/* Datenschutz layout */
.privacy {
    --pv-card-radius: 1rem;
    --pv-border: rgba(0, 0, 0, 0.08);
    --pv-divider: rgba(0, 0, 0, 0.10);
    --pv-focus: 0 0 0 .25rem rgba(13, 110, 253, .35);
    --pv-callout-bg: rgba(13, 110, 253, 0.06);
    --pv-callout-border: rgba(13, 110, 253, 0.25);
}

.privacy__card,
.privacy__toc.card {
    border: 1px solid var(--pv-border);
    border-radius: var(--pv-card-radius);
    box-shadow: var(--bs-box-shadow-sm);
}

.privacy__body {
    padding: 1.25rem;
}

@media (min-width: 992px) {
    .privacy__body {
        padding: 1.5rem;
    }
}

.privacy h1 {
    font-size: clamp(1.6rem, 2.2vw, 2rem);
    letter-spacing: -0.02em;
}

.privacy h2 {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    letter-spacing: -0.01em;
}

.privacy h3 {
    font-size: 1.05rem;
    margin-top: 1.25rem;
}

.privacy h4 {
    font-size: 1rem;
    margin-top: 1rem;
}

.privacy h5 {
    font-size: 0.95rem;
    margin-top: 1rem;
}

.privacy p:last-child {
    margin-bottom: 0;
}

.privacy__info {
    padding: 0.75rem 1rem;
    border-left: 0.25rem solid var(--pv-divider);
    background: rgba(0, 0, 0, 0.02);
    border-radius: 0.75rem;
    margin: 0.75rem 0 1rem;
}

.privacy__list {
    padding-left: 1.25rem;
}

.privacy__callout {
    background: var(--pv-callout-bg);
    border: 1px solid var(--pv-callout-border);
    border-radius: 0.75rem;
    padding: 1rem;
    margin: 0.75rem 0 1rem;
}

.privacy a {
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}

.privacy a:focus-visible {
    outline: none;
    box-shadow: var(--pv-focus);
    border-radius: 0.25rem;
}

/* TOC */
.privacy__tocBody {
    padding: 1rem 1.25rem;
}

.privacy__tocTitle {
    font-weight: 600;
    color: var(--bs-secondary-color);
}

.privacy__tocList {
    margin: 0;
    padding-left: 1.25rem;
}

.privacy__tocLink {
    display: inline-block;
    padding: 0.2rem 0;
}

@media (min-width: 992px) {
    .privacy__toc {
        position: sticky;
        top: 1rem;
    }
}