/* content pages (2026-11 redesign). Loaded site-wide after shell.css.
   Help articles + index, legal pages (about, contact, privacy, returns,
   terms), 404 and maintenance. Reading layout: --measure line length,
   1.6 line height, h1 in the display serif (shell default), h2/h3 Inter.
   Tokens only. */

.content-page {
    max-width: 46rem;
    margin: 0 auto;
    padding: 0.5rem 0 3rem;
}
.content-page p,
.content-page li { max-width: var(--measure); line-height: 1.6; }
.content-page h2 {
    margin: 2.5rem 0 0.75rem;
    font-size: var(--fs-large);
    scroll-margin-top: calc(var(--header-h) + 16px);
}
.content-page h3 {
    margin: 1.75rem 0 0.5rem;
    font-size: var(--fs-body);
    scroll-margin-top: calc(var(--header-h) + 16px);
}
.content-page h2 + h3 { margin-top: 1rem; }
.content-page ul,
.content-page ol { padding-left: 1.25rem; }
.content-page li + li { margin-top: 0.375rem; }
.content-page code {
    font-family: var(--font-mono);
    font-size: 0.9em;
    padding: 0 0.25em;
    border-radius: 4px;
    background: var(--surface-hi);
}
.content-page .page-head { margin-bottom: 2rem; }
.content-page .page-lede { max-width: var(--measure); line-height: 1.6; font-size: var(--fs-large); }
@media (max-width: 599.98px) {
    .content-page .page-lede { font-size: var(--fs-body); }
}

/* Back link to the help index (a real back link, so the chevron stays). */
.content-crumb { margin: 0 0 0.75rem; }
.content-crumb a {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-height: var(--tap);
    color: var(--text-2);
    font-size: var(--fs-small);
    font-weight: 500;
    text-decoration: none;
}
.content-crumb a:hover { color: var(--text); text-decoration: underline; }

/* Related links and the contact line, same spot on every article. */
.see-also { color: var(--text-2); font-size: var(--fs-small); }
.content-foot {
    margin-top: 3rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
    color: var(--text-2);
    font-size: var(--fs-small);
}

/* Tables in articles and the privacy vendor list. */
.content-page .table-scroll { margin: 1rem 0 1.5rem; }
.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--fs-small);
}
.data-table th,
.data-table td {
    text-align: left;
    vertical-align: top;
    padding: 0.625rem 0.75rem;
    border-bottom: 1px solid var(--border);
}
.data-table th { color: var(--text-2); font-weight: 600; }
.data-table td { color: var(--text); }
.data-table tr:last-child td { border-bottom: 0; }

/* ---------- Help index: topic list, not a card grid ---------- */
.topic-group h2 { margin-top: 2rem; }
.topic-group:first-of-type h2 { margin-top: 0; }
.topic-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--border);
}
.topic-list li { margin: 0; max-width: none; border-bottom: 1px solid var(--border); }
.topic-list li + li { margin-top: 0; }
.topic-list a {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-height: var(--tap);
    padding: 0.75rem 0;
    color: var(--text);
    text-decoration: none;
}
.topic-title { font-weight: 600; color: var(--accent-deep); }
[data-theme="dark"] .topic-title { color: var(--accent-2); }
.topic-desc { color: var(--text-2); font-size: var(--fs-small); line-height: 1.5; max-width: var(--measure); }
.topic-list a:hover .topic-title { text-decoration: underline; }

/* ---------- Legal pages ---------- */
.toc {
    margin: 0 0 2.5rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--surface);
}
.toc h2 { margin: 0 0 0.5rem; font-size: var(--fs-body); }
.toc ol { margin: 0; padding-left: 1.5rem; columns: 2; column-gap: 2rem; }
.toc li { break-inside: avoid; margin: 0; line-height: 1.4; font-size: var(--fs-small); }
.toc li + li { margin-top: 0; }
.toc a { display: inline-block; padding: 0.25rem 0; }
@media (max-width: 839.98px) {
    .toc ol { columns: 1; }
}
@media (pointer: coarse) {
    .toc a { min-height: var(--tap); display: inline-flex; align-items: center; padding: 0; }
}
.legal-address { margin: 0 0 1em 1.5rem; font-style: normal; line-height: 1.6; }
.legal-version { margin-top: 3rem; color: var(--text-2); font-size: var(--fs-small); }

/* ---------- 404 and maintenance ---------- */
.status-page { max-width: 36rem; padding-top: 2rem; }
.status-search { margin: 0 0 1.5rem; }
.status-search label { display: block; margin: 0 0 0.375rem; font-weight: 600; }
.status-search-row { display: flex; gap: 0.5rem; }
.status-search-row input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.5rem 0.875rem;
}
.status-links { list-style: none; margin: 0; padding: 0; }
.status-links li + li { margin-top: 0; }
.status-links a { display: inline-flex; align-items: center; min-height: var(--tap); }
.status-reason {
    padding: 0.875rem 1rem;
    border-left: 4px solid var(--amber-fill);
    background: var(--amber-soft);
    border-radius: var(--radius-md);
}
.status-actions { margin-top: 1.5rem; }
