/* ===== Static legal pages: terms.html, privacy.html, legal.html (L-2) =====
   Prose on the site's tokens, header and footer from /styles.css. The pages load
   no script and nothing from a third party. */

.legal { padding: clamp(1.4rem, 4vw, 2.6rem) 0 3rem; }
.legal-body { max-width: 760px; }
.legal-back { margin: 0 0 1rem; font-size: .92rem; }
.legal h1 { font-size: clamp(1.6rem, 4vw, 2.2rem); margin-bottom: .35rem; }
.legal-meta { color: var(--ink-soft); font-size: .9rem; margin: 0 0 1.2rem; }
.legal-lead { font-size: 1.05rem; }
.legal h2 { font-size: 1.28rem; margin: 2.2rem 0 .6rem; scroll-margin-top: 84px; }
.legal h3 { font-size: 1.04rem; margin: 1.3rem 0 .4rem; letter-spacing: -.01em; }
.legal p { margin: .6rem 0; }
.legal ul, .legal ol { margin: .5rem 0 .8rem; padding-left: 1.35rem; }
.legal li { margin: .32rem 0; }
.legal-body a { text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }

/* contents */
.legal-toc { background: var(--surface-alt); border: 1px solid var(--line); border-radius: 10px; padding: .9rem 1.1rem; margin: 1.2rem 0 1.6rem; }
.legal-toc-title { font-weight: 700; margin: 0 0 .35rem !important; }
.legal-toc ol { margin: 0; padding-left: 1.3rem; columns: 2; column-gap: 2.2rem; }
.legal-toc li { margin: .15rem 0; break-inside: avoid; }

/* the plain statement of what a pack is (terms, section 3) */
.legal-note { background: #fff6ef; border: 1px solid #ffd6ad; border-left: 4px solid var(--accent); border-radius: 10px; padding: .85rem 1.1rem; margin: 1rem 0; }

/* facts as label and value: company details, privacy categories */
.legal-dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .45rem 1.2rem; margin: .8rem 0 1rem; }
.legal-dl dt { font-weight: 600; color: var(--ink-soft); }
.legal-dl dd { margin: 0; overflow-wrap: anywhere; }
.legal-list { list-style: none; padding-left: 0 !important; }

/* numbered licence clauses */
.legal-clauses > li { margin: .55rem 0; }

/* the model withdrawal form (terms, annex) */
.legal-form { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: .9rem 1.2rem; margin: 1rem 0; box-shadow: var(--shadow); }
.legal-form p { margin: .5rem 0; }

@media (max-width: 560px) {
  .legal-toc ol { columns: 1; }
  .legal-dl { grid-template-columns: minmax(0, 1fr); gap: .1rem; }
  .legal-dl dd { margin-bottom: .55rem; }
}

/* ===== Print, and the terms PDF (scripts/terms_pdf.py, L-2b) =====
   The text alone, black on white: no site header, navigation, back link or footer. A link is followed by
   its address in brackets; in-page links and email links (whose text is the address) are left as they are. */
@media print {
  :root { --ink: #000; --ink-soft: #000; --accent: #000; --accent-ink: #000; --line: #999; }
  body { background: #fff; color: #000; }
  .site-header, .site-footer, .legal-back { display: none; }
  .legal { padding: 0; }
  .legal-body { width: auto; max-width: none; margin: 0; }
  .legal ol { padding-left: 2rem; }  /* "10." stays inside the printed area, which has no margin to spare */
  .legal-toc, .legal-note, .legal-form { background: none; box-shadow: none; }
  .legal-note { border-color: var(--line); border-left-color: #000; }
  .legal-body a[href^="http"]::after { content: " (" attr(href) ")"; }
  .legal-body a[href^="/"]::after { content: " (https://cobotmove.com" attr(href) ")"; }
  /* no page break inside a heading, after it, or inside the paragraph that follows it */
  .legal h1, .legal h2, .legal h3 { break-inside: avoid; break-after: avoid; }
  .legal h1 + p, .legal h2 + p, .legal h3 + p { break-inside: avoid; }
  .legal-toc, .legal-note, .legal-form, .legal li, .legal-dl dd { break-inside: avoid; }
  .legal-dl dt { break-after: avoid; }
  .legal p { orphans: 3; widows: 3; }
}
