/* Privacy policy: established fonts, palette and 1440px outer container. */
.dsf-privacy { background: var(--dsf-color-surface); }
.dsf-privacy__reading { max-inline-size: calc(var(--dsf-measure) + 400px); margin-inline: auto; }
.dsf-privacy__hero { padding-block: var(--dsf-space-7); border-block-end: 1px solid var(--dsf-color-border); background: var(--dsf-color-tint); }
.dsf-privacy__hero h1 { margin: 0; overflow-wrap: anywhere; }
.dsf-privacy__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 15rem); align-items: start; gap: var(--dsf-space-7); padding-block: var(--dsf-space-7) var(--dsf-space-8); }
.dsf-privacy__layout--plain { grid-template-columns: minmax(0, 1fr); }
.dsf-privacy__content { min-inline-size: 0; }
.dsf-privacy__content :where(p, ul) { max-inline-size: 100%; margin: 0; overflow-wrap: anywhere; }
.dsf-privacy__content > * + *,
.dsf-privacy__section > * + * { margin-block-start: var(--dsf-space-4); }
.dsf-privacy__content .dsf-privacy__section { margin-block-start: var(--dsf-space-7); }
.dsf-privacy__section h2 { margin-block: 0 var(--dsf-space-5); font-size: var(--dsf-text-h3); scroll-margin-block-start: calc(var(--dsf-header-height, 5rem) + var(--dsf-space-5)); }
.dsf-privacy__section ul { padding-inline-start: var(--dsf-space-5); }
.dsf-privacy__section li + li { margin-block-start: var(--dsf-space-2); }
.dsf-privacy__content a { text-underline-offset: 0.2em; }
.dsf-privacy__toc { min-inline-size: 0; position: sticky; inset-block-start: calc(var(--dsf-header-height, 5rem) + var(--dsf-space-5)); max-block-size: calc(100dvh - var(--dsf-header-height, 5rem) - var(--dsf-space-7) * 2); overflow-y: auto; padding: var(--dsf-space-1) var(--dsf-space-3) var(--dsf-space-1) var(--dsf-space-5); border-inline-start: 1px solid var(--dsf-color-border); scrollbar-width: thin; scrollbar-color: var(--dsf-color-control-border) var(--dsf-color-surface); }
.dsf-privacy__toc h2 { margin-block: 0 var(--dsf-space-3); font-size: var(--dsf-text-body); }
.dsf-privacy__toc ul { margin: 0; padding: 0; list-style: none; }
.dsf-privacy__toc li + li { margin-block-start: var(--dsf-space-2); }
.dsf-privacy__toc a { display: block; padding-block: var(--dsf-space-2); font-size: var(--dsf-text-small); line-height: 1.5; color: var(--dsf-color-muted); text-decoration: none; }
.dsf-privacy__toc a:hover { color: var(--dsf-color-accent); text-decoration: underline; text-underline-offset: 0.2em; }
.dsf-privacy ::selection { background: var(--dsf-color-tint); color: var(--dsf-color-primary); }
/* Text and contents share the Impressum-width wrapper; neither extends outside it. */
@media (max-width: 60rem) {
	.dsf-privacy__layout { grid-template-columns: minmax(0, 1fr); }
	.dsf-privacy__toc { display: none; }
}
@media (max-width: 40rem) {
	.dsf-privacy__hero { padding-block: var(--dsf-space-6); }
	.dsf-privacy__layout { padding-block: var(--dsf-space-6) var(--dsf-space-7); }
	.dsf-privacy__content .dsf-privacy__section { margin-block-start: var(--dsf-space-6); }
}
@media print {
	.dsf-privacy__hero { background: none; padding-block: var(--dsf-space-5); }
	.dsf-privacy__layout { display: block; padding-block: var(--dsf-space-5); }
	.dsf-privacy__toc { display: none; }
	.dsf-privacy__section h2 { break-after: avoid; }
}
