/* Template sections: FAQ variants (template-sections/faq.html). V1 is the homepage FAQ (css/sections/faq.css).
   Accordions use the shared .ts-acc component in library.css. */
.ts-faq p, .ts-faq dd { color: var(--text-medium); }

/* V2 two-column list */
.ts-faq__list { display: grid; gap: var(--space-8) var(--space-12); }
.ts-faq__list div { display: grid; gap: var(--space-2); }
.ts-faq__list dt { font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--h6-size); line-height: var(--h6-lh); color: var(--text-strong); }
.ts-faq__list dd { margin: 0; }
@media (min-width: 768px) { .ts-faq__list { grid-template-columns: 1fr 1fr; } }

/* V3 categories */
.ts-faq__cats { display: grid; gap: var(--space-8); }
.ts-faq__catlist { display: flex; gap: var(--space-2); margin-top: var(--space-6); overflow-x: auto; scrollbar-width: none; }
.ts-faq__catlist [role="tab"] { display: inline-flex; align-items: center; gap: var(--space-2); flex: none; height: 40px; padding-inline: var(--space-4); border-radius: var(--radius-pill); font-weight: var(--fw-medium); font-size: var(--body-md-size); color: var(--text-medium); transition: background var(--dur) var(--ease), color var(--dur) var(--ease); }
.ts-faq__catlist .ts-svg { width: 16px; height: 16px; }
.ts-faq__catlist [aria-selected="true"] { background: var(--base-medium); color: var(--text-strong); }
@media (hover: hover) { .ts-faq__catlist [role="tab"]:hover { color: var(--text-strong); } }
@media (min-width: 1024px) {
  .ts-faq__cats { grid-template-columns: 280px 1fr; gap: var(--space-16); }
  .ts-faq__catlist { flex-direction: column; overflow: visible; }
  .ts-faq__catlist [role="tab"] { justify-content: flex-start; border-radius: var(--radius-md); }
}

/* V4 cards */
.ts-faq__cards { display: grid; gap: var(--space-4); }
.ts-faq__cards .card { display: grid; align-content: start; gap: var(--space-2); }
.ts-faq__cards .ts-icon { margin-bottom: var(--space-4); }
@media (min-width: 640px) { .ts-faq__cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ts-faq__cards { grid-template-columns: repeat(3, 1fr); } }

/* V5 split + help card */
.ts-faq__split { display: grid; gap: var(--space-10); }
.ts-faq__aside { display: grid; align-content: start; gap: var(--space-4); }
.ts-faq__help { display: grid; justify-items: start; gap: var(--space-2); margin-top: var(--space-4); padding: var(--space-6); border-radius: var(--radius-xl); background: var(--stone-100); }
.ts-faq__help .ts-avatars { margin-bottom: var(--space-2); }
.ts-faq__help .ts-avatars img { width: 40px; height: 40px; object-position: 50% 35%; }
.ts-faq__help .btn { margin-top: var(--space-2); }
@media (min-width: 1024px) {
  .ts-faq__split { grid-template-columns: 2fr 3fr; gap: var(--space-20); }
  .ts-faq__aside { position: sticky; top: calc(var(--header-h) + var(--space-8)); align-self: start; }
}
