/* Tentaguiden — delad stil för juridiska sidor.
   Matchar designtokens i verktyg/shared.css. Fristående. */

:root {
  --bg:        #ffffff;
  --surface:   #f2f2f2;
  --surface-2: #e6e6e6;
  --text:      #0a0a0a;
  --muted:     #6a6a6a;
  --accent:    #0a0a0a;
  --accent-fg: #ffffff;
  --red:#d23b3b; --red-bg:#fce8e8;
  --amber:#d98a00; --amber-bg:#fff4d9;
  --green:#2e9e2e; --green-bg:#e6f7e6;

  --r:20px; --r-sm:12px; --r-full:999px; --t:0.2s ease;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.legal-wrap { max-width: 760px; margin: 0 auto; padding: 28px 22px 90px; }

.legal-back {
  display: inline-block; color: var(--muted); text-decoration: none;
  font-size: 14px; margin-bottom: 18px;
}
.legal-back:hover { color: var(--text); }

.legal-badge {
  display: inline-block; font-size: 11px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  padding: 6px 12px; border-radius: var(--r-full);
  background: var(--surface); color: var(--text); margin-bottom: 10px;
}

h1 {
  font-size: clamp(26px, 5vw, 36px);
  margin: 0 0 6px;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.legal-sub {
  color: var(--muted); margin: 0 0 28px; font-size: 15px;
}

h2 {
  font-size: 20px; font-weight: 800; letter-spacing: -0.01em;
  margin: 36px 0 8px;
}
h3 {
  font-size: 16px; font-weight: 700; margin: 22px 0 6px;
}

p, li { font-size: 16px; }
p { margin: 10px 0; }
ul, ol { margin: 10px 0; padding-left: 22px; }
li { margin: 4px 0; }

a { color: var(--text); text-decoration: underline; text-underline-offset: 2px; }
a:hover { opacity: .75; }

code {
  font-family: 'SF Mono', Menlo, Monaco, Consolas, monospace;
  background: var(--surface); padding: 1px 6px; border-radius: 6px;
  font-size: 0.92em;
}

.legal-callout {
  background: var(--surface);
  border-radius: var(--r-sm);
  padding: 16px 18px;
  margin: 18px 0;
  font-size: 15px;
}
.legal-callout.warn {
  background: var(--red-bg); color: #5a1414;
  border-left: 4px solid var(--red);
}
.legal-callout.warn strong { color: #3a0606; }
.legal-callout.amber {
  background: var(--amber-bg); color: #5a3500;
  border-left: 4px solid var(--amber);
}
.legal-callout.green {
  background: var(--green-bg); color: #1f4a00;
  border-left: 4px solid var(--green);
}

.legal-disclaimer-big {
  border: 2px solid var(--red);
  background: var(--red-bg);
  border-radius: var(--r);
  padding: 20px 22px;
  margin: 24px 0;
}
.legal-disclaimer-big h2 {
  margin-top: 0; color: #5a1414;
  text-transform: uppercase; letter-spacing: .04em; font-size: 16px;
}
.legal-disclaimer-big p { color: #3a0606; font-weight: 500; }

table.legal-table {
  width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 14px;
}
table.legal-table th, table.legal-table td {
  text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--surface-2);
  vertical-align: top;
}
table.legal-table th { font-weight: 700; background: var(--surface); }

.legal-meta {
  color: var(--muted); font-size: 13px; margin-top: 36px;
  border-top: 1px solid var(--surface-2); padding-top: 14px;
}

.legal-toc {
  background: var(--surface);
  border-radius: var(--r-sm);
  padding: 14px 18px;
  margin: 14px 0 30px;
}
.legal-toc h3 {
  margin: 0 0 8px;
  font-size: 12px; text-transform: uppercase; letter-spacing: .08em;
  color: var(--muted);
}
.legal-toc ol { margin: 0; padding-left: 20px; }
.legal-toc li { font-size: 14px; margin: 3px 0; }
.legal-toc a { color: var(--text); text-decoration: none; }
.legal-toc a:hover { text-decoration: underline; }

.legal-footer {
  margin-top: 60px;
  padding-top: 18px;
  border-top: 1px solid var(--surface-2);
  font-size: 13px; color: var(--muted);
  display: flex; gap: 16px; flex-wrap: wrap;
}
.legal-footer a { color: var(--muted); }
