/*
  Bamya Call's Terms and Privacy on crm.bamya.co (/call/terms, /call/privacy; owner, 2026-11-13: call.bamya.co decommissioned,
  its legal text moved here). The blog's .bl-prose draws the words; this file only adds what a legal page has and a post does
  not: the contents list, the section anchors and the tables. Loaded by those two pages alone.
*/
.legal-page { max-width: 820px; }
.legal-toc { margin: 0 0 36px; padding: 18px 22px; background: var(--tint); border: 1px solid var(--line); border-radius: 12px; }
.legal-toc-head { margin: 0 0 8px; font-size: 13px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--faint); }
.legal-toc ol { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 28px; font-size: 15px; line-height: 1.5; }
.legal-toc li { break-inside: avoid; padding: 2px 0; }
.legal-toc li.is-annex { margin-top: 6px; }
.legal-toc a { color: var(--dim); text-decoration: none; }
.legal-toc a:hover, .legal-toc a:focus-visible { color: var(--you); text-decoration: underline; }

/* .bl-prose spaces its own children; the legal text sits one level down, in its article. */
.legal-body > * + * { margin-top: 14px; }
.legal-body li + li { margin-top: 6px; }
.legal-body h2 + *, .legal-body h3 + * { margin-top: 10px; }
.legal-body h2 { position: relative; margin-top: 40px; font-size: 24px; scroll-margin-top: calc(var(--hd-h) + 16px); }
.legal-body h3 { position: relative; margin-top: 26px; font-size: 19px; scroll-margin-top: calc(var(--hd-h) + 16px); }
.legal-body hr { margin: 32px 0; border: 0; border-top: 1px solid var(--line); }
.legal-body code { padding: 1px 6px; background: var(--tint); border: 1px solid var(--line); border-radius: 6px; font-size: .9em; }
.legal-anchor { position: absolute; left: -1.1em; color: var(--faint); text-decoration: none !important; opacity: 0; transition: opacity .15s; }
.legal-body h2:hover .legal-anchor, .legal-body h3:hover .legal-anchor, .legal-anchor:focus-visible { opacity: 1; }

.legal-table { margin: 18px 0 24px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.legal-table table { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.45; }
.legal-table th { background: var(--tint); font-weight: 600; text-align: left; color: var(--text); }
.legal-table th, .legal-table td { padding: 10px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.legal-table tbody tr:last-child td { border-bottom: 0; }

@media (max-width: 720px) {
  .legal-toc ol { columns: 1; }
  .legal-anchor { display: none; }
}
