/* Sidor med juridisk text (användarvillkor, integritetspolicy) och 404-sidan. */

/* Juridiska sidor */
.legal { max-width: 760px; padding-top: 48px; padding-bottom: 80px; }
.legal h1 { font-size: 2.2rem; margin: 0 0 12px; }
.legal h2 { font-size: 1.2rem; margin: 28px 0 6px; }
.legal p { color: var(--muted); margin: 0 0 10px; line-height: 1.7; }
.legal h3 { font-size: 1rem; margin: 18px 0 4px; }
.legal ul { color: var(--muted); margin: 0 0 10px; padding-left: 22px; line-height: 1.7; }
.legal li { margin-bottom: 4px; }
.legal a { color: var(--accent); font-weight: 600; }
.legal h2[id] { scroll-margin-top: 90px; }
.legal-kicker { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; font-weight: 700; color: var(--accent) !important; margin-bottom: 4px !important; }
.legal-updated { font-size: .9rem; }
.legal-summary { background: #eef1ff; border: 1px solid #d9defd; border-radius: 14px; padding: 18px 22px 8px; margin: 22px 0; }
.legal-summary h2 { margin-top: 0; }
.legal-toc { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 6px 20px; border-top: 1px solid var(--border, #e5e7eb); border-bottom: 1px solid var(--border, #e5e7eb); padding: 16px 0; margin: 10px 0 8px; font-size: .92rem; }
.legal-toc a { font-weight: 500; text-decoration: none; }
.legal-toc a:hover { text-decoration: underline; }
.legal-table-wrap { overflow-x: auto; margin: 8px 0 14px; }
.legal-table { width: 100%; border-collapse: collapse; font-size: .9rem; color: var(--muted); min-width: 480px; }
.legal-table th { text-align: left; background: #f4f5fb; color: var(--text); font-weight: 600; }
.legal-table th, .legal-table td { padding: 10px 12px; border: 1px solid #e3e6f0; vertical-align: top; }
.legal-table code { font-size: .82rem; background: #f1f2f8; padding: 1px 5px; border-radius: 4px; }
.legal-contact { font-style: normal; color: var(--muted); line-height: 1.8; }
.legal-footer { border-top: 1px solid #e5e7eb; padding: 22px 0; font-size: .9rem; }
.legal-footer .container { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; }
.legal-footer a { color: var(--muted); text-decoration: none; }
.legal-footer a[aria-current] { color: var(--accent); font-weight: 600; }
.legal-footer span { margin-left: auto; color: var(--muted); }
.legal .legal-note { background: #fef3c7; color: #92400e; padding: 10px 14px; border-radius: 10px; font-size: .9rem; margin-bottom: 8px; }
.notfound { text-align: center; min-height: 50vh; }
.notfound-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 22px !important; }
.legal .notfound-actions a { color: inherit; }
