/* ============================================================
   Brigg legal pages (Personvern, Vilkår)
   Shared styling. Sits on top of colors_and_type.css for tokens.
   ============================================================ */

:root {
  --wrap: 880px;
  --nav-h: 68px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 16.5px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: var(--accent-soft); color: var(--accent-ink); }
a { color: inherit; text-decoration: none; }
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 28px; }

/* ── Top nav (just the wordmark) ── */
.lnav {
  position: sticky; top: 0; z-index: 50;
  height: var(--nav-h);
  background: color-mix(in srgb, var(--canvas) 88%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.lnav-in { height: 100%; display: flex; align-items: center; }
.lnav-in .logo { height: 26px; width: auto; display: block; }

/* ── Document container ── */
.doc { padding: clamp(56px, 8vw, 96px) 0 clamp(72px, 9vw, 112px); }
.doc-head { margin-bottom: clamp(40px, 5vw, 56px); }
.doc-head .eyebrow {
  font-size: 11.5px; font-weight: 600; letter-spacing: .10em;
  text-transform: uppercase; color: var(--ink-4); margin: 0 0 18px;
}
.doc-head h1 {
  font-size: clamp(34px, 4.6vw, 52px);
  font-weight: 600; letter-spacing: -0.024em; line-height: 1.06;
  margin: 0 0 16px; text-wrap: balance;
}
.doc-head .meta { font-size: 13.5px; color: var(--ink-3); margin: 0 0 20px; }
.doc-head .lede {
  font-size: clamp(17px, 1.45vw, 19px);
  color: var(--ink-2); margin: 0; max-width: 56ch; line-height: 1.55;
}

/* ── Document body: numbered sections ── */
.doc-body section {
  padding: clamp(22px, 3vw, 32px) 0;
  border-top: 1px solid var(--line);
}
.doc-body section:last-of-type { border-bottom: 1px solid var(--line); }
.doc-body h2 {
  display: flex; align-items: baseline; gap: 16px;
  font-size: 20px; font-weight: 600; letter-spacing: -0.012em;
  margin: 0 0 14px;
}
.doc-body h2 .num {
  flex: none; min-width: 28px;
  font-family: var(--font-mono); font-size: 15px; font-weight: 500;
  color: var(--ink-4); letter-spacing: 0;
}
.doc-body h2 .t { color: var(--ink); }
.doc-body h3 {
  font-size: 15.5px; font-weight: 600;
  color: var(--ink); margin: 18px 0 8px;
}
.doc-body p { margin: 0 0 12px; color: var(--ink-2); max-width: 64ch; }
.doc-body p.muted { color: var(--ink-3); }
.doc-body p:last-child { margin-bottom: 0; }
.doc-body strong { color: var(--ink); font-weight: 600; }
.doc-body ul { margin: 0 0 12px; padding-left: 22px; }
.doc-body li { margin: 4px 0; color: var(--ink-2); }
.doc-body a.inline {
  color: var(--accent-ink);
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  transition: border-color .14s ease;
}
.doc-body a.inline:hover { border-bottom-color: var(--accent); }

/* ── Contact callout ── */
.callout {
  margin-top: 28px; padding: 22px 24px;
  background: var(--accent-soft);
  border: 1px solid var(--accent-soft-line);
  border-radius: 16px;
}
.callout h3 {
  font-size: 16px; font-weight: 600;
  color: var(--accent-ink); margin: 0 0 6px;
}
.callout p { color: var(--accent-ink); margin: 0; max-width: none; }
.callout a.inline { color: var(--accent-ink); border-bottom-color: var(--accent); }

/* ── Footer (same shape as index.html) ── */
footer.foot { border-top: 1px solid var(--line); background: var(--chrome); padding: 52px 0 56px; }
footer.foot .wrap { max-width: 1160px; }
.foot-in { display: flex; gap: 40px; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.foot-brand img { height: 24px; width: auto; display: block; margin-bottom: 14px; }
.foot-brand p { font-size: 13.5px; color: var(--ink-3); margin: 0; max-width: 30ch; line-height: 1.5; }
.foot-cols { display: flex; gap: 64px; flex-wrap: wrap; }
.foot-col h5 {
  font-size: 11px; font-weight: 600; letter-spacing: .09em;
  text-transform: uppercase; color: var(--ink-4); margin: 0 0 14px;
}
.foot-col a {
  display: block; font-size: 14px; color: var(--ink-2);
  margin-bottom: 10px; transition: color .12s ease;
}
.foot-col a:hover { color: var(--ink); }
.foot-col a.current { color: var(--ink); font-weight: 500; }
.foot-bot {
  margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--line);
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  font-size: 13px; color: var(--ink-4);
}

@media (max-width: 520px) {
  .doc-body h2 { gap: 10px; }
  .doc-body h2 .num { min-width: 22px; }
}
