/* Text pages: privacy policy, terms of use, support. */

.page-head { padding: 3.25rem 0 2.25rem; margin-bottom: 2.75rem; }
.langs { margin: 1.1rem 0 0; font-size: 0.95rem; color: var(--ink-soft); }
.langs a { color: var(--ink); }

/* Legal pages: contents in the margin, the text on a sheet. */
main.legal { display: grid; grid-template-columns: 14rem minmax(0, 46rem); gap: 3rem; justify-content: start; align-items: start; }
.toc { position: sticky; top: 5.5rem; font-size: 0.9rem; }
.toc-title { font: 500 0.72rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--pencil); margin: 0.2rem 0 0.9rem; }
.toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; border-left: 1px solid var(--rule); }
.toc li { counter-increment: toc; }
.toc a { display: block; padding: 0.28rem 0 0.28rem 0.9rem; color: var(--ink-soft); text-decoration: none; margin-left: -1px; border-left: 2px solid transparent; }
.toc a::before { content: counter(toc) ". "; font-family: var(--mono); font-size: 0.78em; color: var(--ink-soft); opacity: .8; }
.toc a:hover { color: var(--ink); border-left-color: var(--coral); }
@media (max-width: 900px) {
  main.legal { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .toc { position: static; }
  .toc ol { columns: 2 12rem; border-left: 0; }
  .toc a { padding-left: 0; border-left: 0; }
}

.doc {
  background: var(--panel);
  padding: clamp(1.75rem, 5vw, 3.25rem) clamp(1.25rem, 5vw, 3.5rem);
  box-shadow: var(--shadow);
  border-radius: 3px;
}
main.wrap.doc { max-width: calc(var(--measure) + 7rem); }
@media (max-width: 40rem) { .doc { box-shadow: none; background: transparent; padding: 0; } }

.doc h2 { font: 600 1.35rem/1.3 var(--serif); margin: 3rem 0 0.8rem; letter-spacing: -0.01em; scroll-margin-top: 5.5rem; }
.doc h3 { font-size: 1rem; margin: 1.5rem 0 0.4rem; }
.doc p { margin: 0 0 1rem; }
.doc ul { margin: 0 0 1rem; padding-left: 1.2rem; }
.doc li { margin-bottom: 0.5rem; }
.doc li::marker { color: var(--pencil); }

.summary { border-left: 3px solid var(--coral); padding: 0.1rem 0 0.1rem 1.25rem; margin: 0 0 2.5rem; }
.summary .summary-title { margin: 0 0 0.6rem; font-size: 1.15rem; }
.fineprint { color: var(--ink-soft); font-size: 0.88rem; }
.lang-note { margin-top: 3rem !important; padding-top: 1.25rem; border-top: 1px solid var(--rule); }

.card { border: 1px solid var(--rule); border-radius: 4px; padding: 1rem 1.25rem; margin: 1.25rem 0; background: var(--paper); }
address { font-style: normal; line-height: 1.55; }

table { border-collapse: collapse; width: 100%; margin: 0 0 1.25rem; font-size: 0.95rem; }
th, td { text-align: left; vertical-align: top; padding: 0.7rem 0.8rem 0.7rem 0; border-bottom: 1px solid var(--rule); }
th { font-weight: 600; white-space: nowrap; padding-right: 1.25rem; }
.scroll { overflow-x: auto; }

footer.foot { margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid var(--rule); color: var(--ink-soft); font-size: 0.9rem; }

/* Support: mail card */
.mail { display: block; background: var(--accent-bg); border: 1px solid var(--rule); border-radius: 6px; padding: 1.35rem 1.5rem; text-decoration: none; color: inherit; }
.mail:hover, .mail:focus-visible { border-color: var(--accent); }
.mail-label { display: block; font: 500 0.72rem/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 0.35rem; }
.mail-address { display: block; font: 600 1.4rem/1.3 var(--serif); color: var(--accent); overflow-wrap: break-word; }

/* Language switch: English by default, Swedish when #sv (or anything inside it) is targeted.
   Without :has() support both languages simply show. */
#sv { display: none; }
body:has(#sv:target, #sv :target) #en { display: none; }
body:has(#sv:target, #sv :target) #sv { display: grid; }
body:has(#sv:target, #sv :target) main.wrap#sv { display: block; }

@media print {
  #en, #sv { display: block !important; }
  .langs, .site-nav, .site-foot, .toc { display: none; }
  .site-head { position: static; }
  .doc { box-shadow: none; padding: 0; }
  body { font-size: 11pt; background: #fff; color: #000; }
}
.page-head .wrap { max-width: calc(var(--measure) + 7rem); }
