/* FAQ page */
.gpf-tools { margin-bottom: var(--gp-s5); }
.gpf-search { display: block; max-width: 36rem; }
.gpf-search > span { display: block; margin-bottom: .35rem; font-size: .875rem; font-weight: 600; color: var(--gp-ink); }
.gpf-tabs { display: flex; gap: .5rem; margin: 0 0 var(--gp-s5); padding: 0 0 .25rem; overflow-x: auto; scrollbar-width: thin; }
.gpf-tab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: .5rem 1rem; border: 1px solid var(--gp-line); border-radius: 999px; background: #fff; color: var(--gp-ink-2); font: inherit; font-size: .9375rem; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.gpf-tab:hover { border-color: var(--gp-primary-2); color: var(--gp-primary); }
.gpf-tab:focus-visible { outline: 3px solid var(--gp-primary-2); outline-offset: 2px; }
.gpf-tab.is-active { background: var(--gp-primary); border-color: var(--gp-primary); color: #fff; }
.gpf-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5rem; height: 1.5rem; padding: 0 .4rem; border-radius: 999px; background: var(--gp-surface-mid, #eceaf4); color: var(--gp-ink); font-size: .75rem; font-weight: 800; }
.gpf-tab.is-active .gpf-count { background: rgba(255,255,255,.2); color: #fff; }
.gpf-empty { padding: var(--gp-s4); border: 1px dashed var(--gp-line); border-radius: var(--gp-radius); background: var(--gp-surface-low); color: var(--gp-ink-2); }
.gpf-panel[hidden] { display: none; }
.gpf-panel-title { margin: 0 0 var(--gp-s4); font-size: 1.375rem; color: var(--gp-ink); }
.gpf-list { display: grid; gap: .75rem; }
.gpf-item { background: #fff; border: 1px solid var(--gp-line); border-radius: var(--gp-radius); box-shadow: var(--gp-shadow-sm); overflow: hidden; }
.gpf-item[hidden] { display: none; }
.gpf-q { margin: 0; font-size: 1rem; }
.gpf-q-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border: 0; background: #fff; color: var(--gp-ink); font: inherit; font-weight: 700; line-height: 1.45; text-align: left; cursor: pointer; min-height: 3.25rem; }
.gpf-q-btn:hover { background: var(--gp-surface-low); }
.gpf-q-btn:focus-visible { outline: 3px solid var(--gp-primary-2); outline-offset: -3px; }
.gpf-q-btn[aria-expanded="true"] { background: var(--gp-primary-tint); color: var(--gp-primary); }
.gpf-q-btn::after { content: "\F282"; font-family: "bootstrap-icons"; font-weight: 400; font-size: .875rem; color: var(--gp-primary-2); flex: 0 0 auto; transition: transform .15s ease; }
.gpf-q-btn[aria-expanded="true"]::after { transform: rotate(180deg); }
.gpf-a { padding: 1rem 1.25rem 1.25rem; border-top: 1px solid var(--gp-line); color: var(--gp-ink-2); font-size: .9375rem; line-height: 1.7; overflow-wrap: anywhere; }
.gpf-a > :first-child { margin-top: 0; }
.gpf-a > :last-child { margin-bottom: 0; }
.gpf-a a { color: var(--gp-primary-2); font-weight: 600; text-decoration: underline; }
.gpf-a ul, .gpf-a ol { padding-left: 1.25rem; }
@media (prefers-reduced-motion: reduce) { .gpf-tab, .gpf-q-btn::after { transition: none; } .gpf-item .collapsing { transition: none; } }
