/* FAQ accordion - headers are full-width buttons; the open item is tinted
   and its chevron turns (state is also in aria-expanded and the panel). */
.fq-wrap { display: grid; gap: 10px; }
.fq-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.fq-search-wrap { flex: 1 1 200px; min-width: 0; }
.fq-search { min-height: 40px; padding-left: 34px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f677d' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 11px center; background-size: 16px 16px; }
.fq-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-left: auto; }
.fq-btns .e-btn { font-size: .8em; padding: 4px 12px; min-height: 32px; border-radius: 999px; font-weight: 600; }
.fq-status { margin: -4px 0 0; font-size: .82em; color: var(--e-ink-3); }
.fq-status:empty { display: none; }

.fq-list { display: grid; gap: 8px; }
.fq-group { margin: 8px 0 0; font-size: .78em; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--e-accent-fg); }
.fq-group:first-child { margin-top: 0; }
.fq-item { border: 1px solid var(--e-line); border-radius: var(--e-radius-sm); background: var(--e-bg); transition: border-color .2s var(--e-ease), background-color .2s var(--e-ease); }
.fq-item:hover { border-color: var(--e-line-strong); }
.fq-item.fq-open { border-color: color-mix(in srgb, var(--e-accent) 35%, var(--e-line)); background: var(--e-surface); }
.fq-h { margin: 0; font-size: 1em; font-weight: inherit; }
.fq-btn {
    display: flex; align-items: flex-start; gap: 10px; width: 100%; min-height: 48px; margin: 0; padding: 12px 14px;
    font: inherit; font-weight: 650; line-height: 1.4; text-align: left; color: var(--e-ink);
    background: transparent; border: 0; border-radius: var(--e-radius-sm); cursor: pointer;
}
.fq-btn:hover .fq-q { color: var(--e-accent-fg); }
.fq-q { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.fq-num { flex: none; min-width: 1.4em; color: var(--e-accent-fg); font-variant-numeric: tabular-nums; }
.fq-chev { flex: none; width: 20px; height: 20px; margin-top: 1px; fill: none; stroke: var(--e-ink-3); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s var(--e-ease); }
.fq-btn[aria-expanded="true"] .fq-chev { transform: rotate(180deg); stroke: var(--e-accent-fg); }
.fq-panel { padding: 0 14px 12px; }
.fq-numbered .fq-panel { padding-left: calc(14px + 1.4em + 10px); }
.fq-body { color: var(--e-ink-2); font-size: .95em; line-height: 1.55; overflow-wrap: anywhere; }
.fq-body p { margin: 0; }
.fq-body p + p { margin-top: 8px; }
.fq-body strong { color: var(--e-ink); font-weight: 700; }
.fq-body a { color: var(--e-accent-fg); text-decoration: underline; text-underline-offset: 2px; word-break: break-all; }
.fq-none { padding: 8px 2px; }
html[data-compact="1"] .fq-btn { padding: 9px 11px; min-height: 42px; }
html[data-compact="1"] .fq-panel { padding: 0 11px 10px; }
html[data-theme="dark"] .fq-search { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa3bd' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5'/%3E%3C/svg%3E"); }
@media (prefers-color-scheme: dark) {
    html[data-theme="auto"] .fq-search { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa3bd' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5'/%3E%3C/svg%3E"); }
}
@media (max-width: 360px) {
    .fq-btn { padding: 11px 10px; gap: 8px; }
    .fq-panel { padding: 0 10px 11px; }
    .fq-numbered .fq-panel { padding-left: 10px; }
}
