/* terms.css — /terms/: renders the live CMS "FamilyOne Terms of Service" row.
   No legal text lives in this file. The prose rules below (the spare Confluence
   <ol> wrapper, clause numbering, hanging markers) mirror the identical fix in
   go.showtrail.website's showtrail-auth.css (.st-auth-tou__html / PR #366),
   which renders the same CMS row — same quirks in the export, same fix,
   family.one's own tokens instead of ShowTrail's. */

.termsPage {
  max-width: 760px;
  margin: 0 auto;
  padding: 56px 24px 96px;
  text-align: left;
  color: #4e4e4e;
  font-family: var(--font-regular);
}

.termsPage h1 {
  font-family: var(--font-semi-bold);
  font-weight: 600;
  font-size: 40px;
  color: #242424;
  margin: 0 0 28px;
}

.termsPage .termsDoc,
.termsPage .termsPage__note,
.termsPage .termsPage__fallback {
  display: none;
}

.termsPage[data-status="loading"] .termsPage__note {
  display: block;
}

.termsPage[data-status="unavailable"] .termsPage__note,
.termsPage[data-status="unavailable"] .termsPage__fallback {
  display: block;
}

.termsPage[data-status="ready"] .termsDoc {
  display: block;
}

.termsPage__note {
  font-size: 15px;
  line-height: 1.62;
  color: #4e4e4e;
  margin: 0 0 8px;
}

.termsPage__fallback {
  font-size: 15px;
  line-height: 1.62;
  color: #4e4e4e;
  margin: 0;
}

.termsPage__fallback a {
  color: #F47C6A;
  font-family: var(--font-semi-bold);
  text-decoration: underline;
}

.termsDoc {
  font-size: 15px;
  line-height: 1.62;
  font-weight: 400;
}

.termsDoc > :first-child {
  margin-top: 0;
}

.termsDoc > :last-child {
  margin-bottom: 0;
}

.termsDoc p {
  margin: 0 0 0.9em;
}

/* The spare Confluence export <ol>: no data-indent-level, outermost, exactly
   one <li>. All three conditions must hold before its marker and indent are
   dropped, so a differently-shaped export keeps today's rendering rather than
   silently losing real clause numbers. The document's own numbering (from
   `start=` on the real lists) is untouched. */
.termsDoc > div > ol:not([data-indent-level]):has(> li:only-child),
.termsDoc > ol:not([data-indent-level]):has(> li:only-child) {
  list-style: none;
  padding-inline-start: 0;
  margin: 0;
}

.termsDoc ol[data-indent-level] {
  padding-inline-start: 26px;
  margin: 0;
}

.termsDoc > div > ol > li > p,
.termsDoc > div > ol > li > div,
.termsDoc > ol > li > p,
.termsDoc > ol > li > div {
  padding-inline-start: 26px;
}

.termsDoc ol[data-indent-level="2"] {
  padding-inline-start: 22px;
  margin-top: 10px;
}

.termsDoc li + li {
  margin-top: 14px;
}

.termsDoc li::marker {
  color: #F47C6A;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.termsDoc strong {
  color: #242424;
  font-family: var(--font-bold);
}

.termsDoc a {
  color: #F47C6A;
  font-family: var(--font-semi-bold);
  text-underline-offset: 2px;
}

@media print {
  .termsPage {
    max-width: none;
    padding: 0;
  }
  .termsDoc a {
    color: #000;
  }
}

@media (max-width: 600px) {
  .termsPage {
    padding: 32px 18px 64px;
  }
  .termsPage h1 {
    font-size: 30px;
  }
}
