/* FAQ page — accessible accordion + search/expand controls. */

.faq-tools { margin: 1.75rem 0; display: grid; gap: 1rem; }
.faq-search-row { display: grid; gap: 0.4rem; }
.faq-search {
  width: 100%; max-width: 32rem; font: inherit; font-size: 1.1rem;
  padding: 0.7rem 0.95rem; color: var(--text); background: var(--surface-2);
  border: 2px solid var(--border); border-radius: 10px;
}
.faq-search::placeholder { color: var(--muted); }
.faq-tool-buttons { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.faq-tool-buttons button {
  font: inherit; font-weight: 700; cursor: pointer; color: var(--text);
  background: var(--surface); border: 2px solid var(--border);
  border-radius: 8px; padding: 0.5rem 1rem;
}
.faq-tool-buttons button:hover { border-color: var(--accent); color: var(--accent); }

.faq-group { margin: 2rem 0; }
.faq-group h2 { margin-bottom: 1rem; }
.faq-list { display: grid; gap: 0.75rem; }

.faq-item {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 12px; overflow: hidden;
}
.faq-item > summary {
  cursor: pointer; padding: 1rem 1.25rem; list-style: none;
  font-family: var(--display); font-weight: 700; font-size: 1.15rem;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::after {
  content: "+"; font-size: 1.5rem; line-height: 1; color: var(--accent); flex: none;
}
.faq-item[open] > summary::after { content: "\2212"; } /* minus sign */
.faq-item > summary:hover { color: var(--accent); }
.faq-answer { padding: 0 1.25rem 1.25rem; max-width: 65ch; }
.faq-answer > :first-child { margin-top: 0; }
.faq-answer > :last-child { margin-bottom: 0; }
