.faq-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; position: sticky; top: 4rem; z-index: 20; padding: .5rem 0; background: rgb(var(--c-bg) / .92); backdrop-filter: blur(8px); }
.faq-tab { padding: .5rem .9rem; border-radius: .75rem; border: 1px solid rgb(var(--c-rim)); background: rgb(var(--c-surf)); color: rgb(var(--c-sub)); font-size: .8125rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: color .15s, border-color .15s, background .15s; }
.faq-tab:hover { color: rgb(var(--c-ink)); border-color: rgb(var(--c-or) / .4); }
.faq-tab[aria-selected="true"] { background: rgb(var(--c-or)); border-color: rgb(var(--c-or)); color: #fff; }
.faq-h { font-size: 1rem; font-weight: 700; color: rgb(var(--c-ink)); margin: 1.5rem 0 .5rem; }
.faq-panel:first-of-type .faq-h { margin-top: 0; }
.faq-js .faq-panel[hidden] { display: none; }
.faq-item { background: rgb(var(--c-surf)); border: 1px solid rgb(var(--c-rim)); border-radius: .75rem; scroll-margin-top: 9rem; }
.faq-item > summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .75rem 1rem; cursor: pointer; list-style: none; font-size: .875rem; font-weight: 600; color: rgb(var(--c-ink)); }
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::after { content: "+"; margin-left: auto; font-size: 1.125rem; line-height: 1; color: rgb(var(--c-sub)); transition: transform .15s; }
.faq-item[open] > summary::after { transform: rotate(45deg); }
.faq-item > summary:hover { color: rgb(var(--c-or)); }
.faq-anchor { order: 2; opacity: 0; font-weight: 500; color: rgb(var(--c-dim)); text-decoration: none; padding: 0 .25rem; transition: opacity .15s; }
.faq-item > summary:hover .faq-anchor, .faq-anchor:focus-visible, .faq-item:target .faq-anchor { opacity: 1; }
.faq-item > summary::after { order: 3; margin-left: 0; }
.faq-item > summary { justify-content: flex-start; }
.faq-item > summary .faq-anchor { margin-left: auto; }
.faq-item:target { border-color: rgb(var(--c-or) / .6); }
.faq-a { padding: 0 1rem 1rem; font-size: .875rem; line-height: 1.6; color: rgb(var(--c-sub)); }
.faq-a a, .faq-link { color: rgb(var(--c-or)); text-decoration: underline; }
.faq-contacts { scroll-margin-top: 9rem; }
@media (max-width: 767px) { .faq-tabs { flex-wrap: nowrap; overflow-x: auto; top: 3.5rem; } .faq-anchor { opacity: 1; } }
