/* Legal TOC — scroll offset per breakpoint (hash fallback + JS sync) */
:root {
  --legal-toc-scroll-offset: 140px;
}

@media (max-width: 1024px) {
  :root {
    --legal-toc-scroll-offset: 120px;
  }
}

@media (max-width: 768px) {
  :root {
    --legal-toc-scroll-offset: 105px;
  }
}

.tb-inline-9a391e07,
.tb-inline-a481d8bc,
.tb-inline-b40d4c7c {
  scroll-margin-top: var(--legal-toc-scroll-offset);
}

/* Legal intro callout (Terms / Privacy) */
.tb-inline-7c7cff90 {
  margin-bottom: 36px;
  padding: 20px 22px;
  background: rgba(255, 210, 58, 0.06);
  border: 1px solid rgba(255, 210, 58, 0.35);
  border-radius: 10px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.tb-inline-3a8d56e7 {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 210, 58, 0.18);
  border: 1px solid var(--warn);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--warn);
  flex-shrink: 0;
}

.tb-inline-86f8d2e5 {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink);
}

.tb-inline-86f8d2e5 p {
  margin-top: 0;
}

.tb-inline-86f8d2e5 strong,
.tb-inline-5360b658 {
  color: var(--warn);
  font-weight: 700;
}

/* Legal intro callout (Disclaimer — critical) */
.tb-inline-eaacc128 {
  margin-bottom: 36px;
  padding: 20px 22px;
  background: rgba(255, 46, 92, 0.06);
  border: 1px solid rgba(255, 46, 92, 0.35);
  border-radius: 10px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.tb-inline-28afff39 {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 46, 92, 0.18);
  border: 1px solid var(--live);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--live);
  flex-shrink: 0;
}

.tb-inline-1140ea50 {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink);
}

.tb-inline-1140ea50 p {
  margin-top: 0;
}

.tb-inline-1140ea50 strong,
.tb-inline-d93c96c9 {
  color: var(--live);
  font-weight: 700;
}

/* Sidebar contact box (Terms / Privacy / Disclaimer) */
.tb-inline-2d2657d0,
.tb-inline-ef498409 {
  margin-top: 28px;
  padding: 14px 16px;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.tb-inline-bcebf4cf,
.tb-inline-a1e4f71b {
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--ink-muted);
  text-transform: uppercase;
  margin-bottom: 6px;
}

.tb-inline-79913810,
.tb-inline-ac8dc087 {
  font-size: 12.5px;
  color: var(--ai-soft);
  display: block;
}

/* Legal page — active TOC item (scroll spy) */
.legal-toc__link.is-active {
  border-left-color: var(--ai);
  background: rgba(0, 212, 255, 0.05);
  color: var(--ink);
  font-weight: 600;
}

.legal-toc__link.is-active .legal-toc__num {
  color: var(--ai-soft);
}

/* WYSIWYG lists — em dash instead of bullets */
.legal-section-content ul {
  margin: 12px 0;
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.legal-section-content ul > li {
  position: relative;
  padding-left: 22px;
  font-size: 15px;
  color: var(--ink-muted);
  line-height: 1.6;
}

.legal-section-content ul > li::before {
  content: '—';
  color: var(--ai);
  position: absolute;
  left: 0;
  top: 4px;
}

.legal-section-content ul > li > p {
  margin: 0;
}

.legal-section-content ul ul {
  margin-top: 10px;
  width: 100%;
  padding-left: 0;
}

.legal-section-content strong {
  color: var(--ink);
  font-weight: 600;
}

/* WYSIWYG blockquote — «Note» callout */
.legal-section-content blockquote,
.legal-section-content blockquote.legal-note,
.legal-section-content .wp-block-quote {
  margin: 16px 0;
  padding: 14px 18px;
  background: rgba(0, 212, 255, 0.05);
  border: 1px solid rgba(0, 212, 255, 0.22);
  border-left: 3px solid var(--ai);
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink);
  font-style: normal;
}

.legal-section-content blockquote p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.legal-section-content blockquote p + p {
  margin-top: 10px;
}

.legal-section-content blockquote cite,
.legal-section-content blockquote footer {
  display: block;
  margin-top: 10px;
  font-size: 13px;
  color: var(--ink-muted);
  font-style: normal;
}

.legal-section-content .legal-note__label,
.legal-section-content blockquote .legal-note__label {
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--ai-soft);
  text-transform: uppercase;
  margin-right: 8px;
  font-weight: 400;
}

/* ── Legal layout responsive (Terms / Privacy / Disclaimer) ── */
@media (max-width: 1024px) {
  .tb-inline-74980820,
  .tb-inline-81d939b9,
  .tb-inline-5b3574b2 {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .tb-inline-a3c929fb {
    padding: 28px 24px;
  }
}

@media (max-width: 768px) {
  .tb-inline-670c948e,
  .tb-inline-3908591f,
  .tb-inline-d45f660f {
    display: none;
  }
}

@media (max-width: 640px) {
  .tb-inline-48143e57,
  .tb-inline-9968210a,
  .tb-inline-ae929dfc {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .tb-inline-c6f85572,
  .tb-inline-f5abfcdd,
  .tb-inline-3a24357f {
    margin-bottom: 36px;
  }
  .tb-inline-a3c929fb {
    padding: 22px 18px;
  }
  .tb-inline-f1cfa023 {
    font-size: 22px;
    flex-wrap: wrap;
  }
  .tb-inline-939b9d40,
  .tb-inline-8172c5c4,
  .tb-inline-0519cfa8 {
    gap: 6px;
  }
  .tb-inline-dde3fe73,
  .tb-inline-681e4546,
  .tb-inline-fbd517de,
  .tb-inline-5ba925bf,
  .tb-inline-977ca237,
  .tb-inline-9a454992 {
    padding: 6px 12px;
    font-size: 10px;
  }
  .tb-inline-0825bdeb {
    flex-direction: column;
    align-items: flex-start;
  }
  .tb-inline-87de6307 {
    flex-wrap: wrap;
    width: 100%;
  }
}
