/* Spanly – publika undersidor (priser, API-dokumentation, villkor, integritet, ta-bort-mig, mina-uppgifter):
   bara typografi och läsbarhet ovanpå site.css/docs.css/priser.css, i startsidans formspråk. Startsidans första sektion rörs inte.
   Laddas sist på varje undersida. Ägs av designagenten. */

/* ---------- läsbar brödtext ---------- */
.prose { max-width: 66ch; font-size: 1.0625rem; }
.prose p, .prose li { line-height: 1.75; }
.prose > * + * { margin-top: 16px; }
.prose h2 { font-size: 1.5rem; letter-spacing: -0.018em; line-height: 1.25; margin-top: 56px; padding-top: 30px; }
.prose h2 .n { font-size: .75rem; letter-spacing: .06em; }
.prose h3 { font-size: 1.125rem; line-height: 1.35; margin-top: 32px; }
.prose h3 + p, .prose h2 + p { margin-top: 10px; }
.prose ul { gap: 10px; }
.prose ol { gap: 10px; }
.prose ol li::marker { font-family: var(--mono); font-size: .875rem; color: var(--brass-dark, #A44E0E); }
.prose a { color: var(--deep, #1F5A41); text-decoration: underline; text-decoration-color: rgba(31, 90, 65, .35); text-underline-offset: 3px; }
.prose a:hover { text-decoration-color: currentColor; }
.prose table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.prose th, .prose td { padding: 11px 12px 11px 0; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.5; }
.prose th { font-weight: 600; color: var(--ink); }
.prose thead th { font: 500 .6875rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--graphite-2); padding-bottom: 8px; }
.prose .summary-box, .prose .i-korthet { padding: 22px 24px; }
.prose code { font-size: .8125rem; }
.prose blockquote { margin: 20px 0; padding: 14px 18px; border-left: 3px solid var(--brass, #F57C22); background: var(--paper-2, #F7F6F3); color: var(--ink-2); border-radius: 0 var(--r, 8px) var(--r, 8px) 0; }

/* ---------- legal-sidorna ---------- */
.legal-hero .h1 { max-width: 18ch; }
.legal-meta { gap: 6px 20px; }
.legal .docs-layout { gap: 72px; }
.docs-side li a { padding: 6px 0 6px 14px; line-height: 1.35; }
.docs-side li a.is-active { font-weight: 600; }
.draft-note { border-radius: var(--r-lg, 12px); }

/* ---------- API-dokumentationen ---------- */
.doc-text p, .doc-text li { font-size: 1rem; line-height: 1.7; }
.doc-text > h3 { font-size: 1.125rem; }
.params td { padding: 12px 0; line-height: 1.55; }
.params td:first-child code { font-size: .875rem; }
.doc-code pre { line-height: 1.55; }

/* ---------- priser ---------- */
.pp-lead { font-size: 1.125rem; line-height: 1.6; }
.pp-vat { font-size: .9375rem; }
.pp-bill, .pp-incl { line-height: 1.45; }
.pp-cmp-panel table { font-size: .9375rem; }
.pp-cmp-panel th, .pp-cmp-panel td { line-height: 1.5; }
.faq-sec .faq-q, .faq-sec summary { font-size: 1.0625rem; line-height: 1.4; }
.faq-sec .faq-a, .faq-sec details p { line-height: 1.7; color: var(--ink-2); }

/* ---------- ta-bort-mig och mina-uppgifter ---------- */
.optout-steps li { padding: 20px 0; }
.optout-steps b { font-size: 1.0625rem; }
.optout-steps p { line-height: 1.65; }
.optout-note { line-height: 1.65; border-radius: 0 var(--r-lg, 12px) var(--r-lg, 12px) 0; }
.state-panel { line-height: 1.6; }
.mu-layout .prose { max-width: none; }
.mu-card { padding: 24px; }
.mu-card .label { font-weight: 600; }

/* ---------- mobil ---------- */
@media (max-width: 720px) {
  .prose { font-size: 1rem; }
  .prose h2 { font-size: 1.3125rem; margin-top: 40px; padding-top: 22px; }
  .prose th, .prose td { padding: 9px 10px 9px 0; }
  .legal .docs-layout { gap: 24px; }
  .optout-steps li { padding: 16px 0; }
}
