/*
 * Co-Help — /privacy and /terms page styles. Loaded after pages.css.
 * Bump the ?v= in the <link> when this file changes.
 */
.legal { max-width: 900px; }
.legal > section { scroll-margin-top: 84px; }
.legal h3 { scroll-margin-top: 84px; }
.legal p, .legal li { overflow-wrap: anywhere; }

/* Table of contents */
.toc {
  margin: 36px 0 8px; padding: 22px 26px; border-radius: var(--r);
  background: var(--panel); border: 1px solid var(--line);
}
.prose .toc h2 { font-size: 1.05rem; font-family: var(--mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--dim); margin: 0 0 12px; }
.prose .toc ol { columns: 2; column-gap: 36px; margin: 0 0 0 1.4em; }
.prose .toc li { margin: 5px 0; break-inside: avoid; }
@media (max-width: 640px) { .prose .toc ol { columns: 1; } .toc { padding: 18px 18px; } }

/* Conspicuous (all-caps) legal text */
.prose p.caps { font-size: 0.9rem; letter-spacing: 0.01em; line-height: 1.7; color: var(--txt); }
.caps-notice { margin-top: 28px; }
.caps-notice p { font-size: 0.92rem; }
.prose p.auto-renew {
  padding: 14px 18px; border-radius: 12px; border: 1px solid rgba(91, 140, 255, 0.35);
  background: rgba(91, 140, 255, 0.08); color: var(--txt);
}

/* Tables inside legal pages wrap long cells instead of forcing huge widths */
.legal .table-wrap table { min-width: 640px; }
.legal .table-wrap.two table { min-width: 520px; }
.legal .table-wrap tbody th { white-space: normal; min-width: 150px; }

/* Cookie-choice control on /privacy */
.cookie-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.cookie-controls .btn-ghost { cursor: pointer; font: inherit; }
.cookie-status { font-family: var(--mono); font-size: 0.8rem; color: var(--dim); }
