/* Legal pages (privacy notice, legal notice): long-form reading on top of styles.css. */

.doc-header .nav-bar { gap: 16px; }
.doc-nav { display: flex; align-items: center; gap: 18px; font-size: 15px; font-weight: 700; }
.doc-nav a { color: var(--mist); }
.doc-nav a:hover { color: var(--apex); }
.doc-nav a[aria-current="true"] { color: var(--bone); }
.doc-lang { display: flex; align-items: center; gap: 6px; }
.doc-lang a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; }
.doc-lang-sep { color: var(--fog); }

.doc {
  max-width: 808px; margin: 0 auto; padding: 72px var(--gutter) 104px;
  color: var(--mist); font-size: 17px; line-height: 1.65;
}
.doc h1 { margin-top: 14px; font-size: clamp(52px, 6vw, 80px); color: var(--bone); }
.doc-meta { margin-top: 18px; font-size: 15px; color: var(--fog); }
.doc-lead { margin-top: 24px; font-size: 19px; line-height: 1.6; color: var(--bone); }

.doc > h2 {
  margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--graphite);
  font-size: 24px; line-height: 1.25; font-weight: 800; color: var(--bone);
  scroll-margin-top: 24px;
}
.doc > h3, .doc-item h3 { margin-top: 28px; font-size: 18px; line-height: 1.35; font-weight: 800; color: var(--bone); }
.doc p, .doc ul, .doc ol, .doc dl { margin-top: 14px; }
.doc ul { list-style: disc; padding-left: 1.3em; }
.doc ol { list-style: decimal; padding-left: 1.4em; }
.doc li + li { margin-top: 8px; }
.doc li::marker { color: var(--fog); }
.doc b, .doc strong { color: var(--bone); font-weight: 800; }
.doc a { color: var(--bone); text-decoration: underline; text-decoration-color: var(--fog); text-underline-offset: 3px; }
.doc a:hover { color: var(--apex); text-decoration-color: var(--apex); }

.doc-summary {
  margin-top: 36px; padding: 24px 28px; border: 1px solid var(--graphite); border-radius: 18px; background: var(--kerb);
}
.doc-summary h2 { margin-top: 0; font-weight: 800; line-height: 1.3; padding-top: 0; border-top: 0; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--apex); }
.doc-summary ul { margin-top: 12px; }

.doc-toc { margin-top: 36px; }
.doc-toc h2 { margin-top: 0; font-weight: 800; line-height: 1.3; padding-top: 0; border-top: 0; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fog); }
.doc-toc ol { margin-top: 10px; columns: 2; column-gap: 32px; font-size: 16px; }
.doc-toc li { break-inside: avoid; }
.doc-toc li + li { margin-top: 6px; }

/* One card per kind of data: what, why, legal basis, how long. */
.doc-item { margin-top: 20px; padding: 20px 24px; border: 1px solid var(--graphite); border-radius: 16px; }
.doc-item h3 { margin-top: 0; }
.doc-item dl { margin-bottom: 0; display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 8px 18px; margin-top: 12px; }
.doc-item dt { font-size: 13px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fog); padding-top: 3px; }
.doc-item dd { margin: 0; }

.doc-card { margin-top: 20px; padding: 20px 24px; border-radius: 16px; background: var(--kerb); }
.doc-card p:first-child { margin-top: 0; }
.doc-card .doc-org { font-size: 19px; font-weight: 800; color: var(--bone); }

.doc-back { margin-top: 56px; font-size: 15px; }

@media (max-width: 1023.98px) {
  .doc { padding-top: 56px; }
}
@media (max-width: 759.98px) {
  .doc { padding: 40px 16px 72px; font-size: 16px; }
  .doc h1 { font-size: 52px; }
  .doc-lead { font-size: 18px; }
  .doc > h2 { margin-top: 44px; font-size: 22px; }
  .doc-summary, .doc-item, .doc-card { padding: 18px 18px; }
  .doc-toc ol { columns: 1; }
  .doc-item dl { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .doc-item dd + dt { margin-top: 10px; }
  .doc-nav .doc-signin { display: none; }
}
