/* Glossary and FAQ (modules/help/help.php): the Find box, glossary terms and FAQ questions. Same rules on the
   website, in the client area and in the admin (each area's own colour tokens). */
.gh { margin: 8px 0 0; }
.gh-find { display: grid; gap: 6px; max-width: 420px; margin: 0 0 24px; font-size: 13px; color: var(--muted); }
.gh-find input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--rule); background: transparent; color: var(--ink); font: inherit; font-size: 16px; }
.gh-find input:focus { outline: 2px solid var(--accent); outline-offset: 0; border-color: var(--accent); }
.gh-none { color: var(--muted); }
.gh-sec { margin: 0 0 32px; scroll-margin-top: 140px; }
.gh-sec h2 { margin: 0 0 8px; font-size: 20px; font-weight: 500; }
.gh-terms { margin: 0; }
.gh-term { padding: 14px 0; border-top: 1px solid var(--rule); scroll-margin-top: 140px; }
.gh-term dt { margin: 0 0 4px; font-weight: 600; color: var(--ink); }
.gh-term dd { margin: 0; }
.gh-term dd p, .gh-a p { margin: 0 0 8px; max-width: 70ch; line-height: 1.6; }
.gh-term dd p:last-child, .gh-a p:last-child { margin-bottom: 0; }
.gh-faq { border-top: 1px solid var(--rule); scroll-margin-top: 140px; }
.gh-sec .gh-faq:last-child, .gh-term:last-child { border-bottom: 1px solid var(--rule); }
.gh-faq summary { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; font-weight: 600; color: var(--ink); cursor: pointer; list-style: none; }
.gh-faq summary::-webkit-details-marker { display: none; }
.gh-faq summary::after { content: "+"; flex: none; color: var(--accent); font-weight: 400; }
.gh-faq[open] summary::after { content: "\2212"; }
.gh-faq summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.gh-a { padding: 0 0 16px; }
.gh-a a, .gh-term a { color: var(--accent); }
.gh-more { margin: 24px 0 0; color: var(--muted); }
[data-help] [hidden] { display: none !important; }
