.faqa-pro, .faqa-pro * { box-sizing: border-box; }
.faqa-pro .accordion-button .faqa-title { flex:1; }
.faqa-pro .accordion-button .faqa-toggle { margin-left:auto; }
.faqa-pro .accordion-button { border: 0; font-family: inherit; cursor: pointer; display: flex; align-items: center; }
.faqa-pro .accordion-body { padding: 1rem 1.25rem; overflow-wrap: anywhere; }
/* Animate the intrinsic height: no guessed max-height or JS height timers. */
.faqa-pro[data-faqa-pro] .accordion-collapse { display:grid; grid-template-rows:0fr; opacity:0; visibility:hidden; transition:grid-template-rows 280ms ease, opacity 200ms ease, visibility 0s linear 280ms; }
.faqa-pro[data-faqa-pro] .accordion-collapse.show { grid-template-rows:1fr; opacity:1; visibility:visible; transition-delay:0s; }
.faqa-pro .accordion-collapse > .faqa-answer-clip { min-height:0; min-width:0; overflow:hidden; }
@media (prefers-reduced-motion: reduce) { .faqa-pro[data-faqa-pro] .accordion-collapse { transition:none; } }
.faqa-pro .form-control, .faqa-pro .form-select { width: 100%; padding: .65rem; border: 1px solid #ced4da; border-radius: 4px; font: inherit; }
.faqa-pro .btn { padding: .5rem .8rem; border: 1px solid #64748b; border-radius: 4px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.faqa-pro .visually-hidden { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.faqa-pro { max-width: var(--faqa-max-width, 1000px); }
.faqa-pro .faqa-category-tabs { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid var(--faqa-icon-color); }
.faqa-pro .faqa-category-tab { max-width: 100%; overflow-wrap: anywhere; padding: .65rem 1rem; border: 1px solid var(--faqa-icon-color); border-bottom: 0; border-radius: .35rem .35rem 0 0; color: var(--faqa-question-color); background: var(--faqa-background-color); cursor: pointer; font: inherit; }
.faqa-pro .faqa-category-tab[aria-pressed="true"] { background: var(--faqa-active-color); box-shadow: inset 0 -3px var(--faqa-icon-color); font-weight: 700; }
.faqa-pro .faqa-tabs-pills { border-bottom: 0; gap: .5rem; }
.faqa-pro .faqa-tabs-pills .faqa-category-tab { border: 1px solid var(--faqa-icon-color); border-radius: 2rem; }
.faqa-pro .faqa-tabs-pills .faqa-category-tab[aria-pressed="true"] { box-shadow: none; }
.faqa-pro .faqa-tabs-underline { border-bottom: 1px solid #ced4da; gap: .5rem; }
.faqa-pro .faqa-tabs-underline .faqa-category-tab { border: 0; border-radius: 0; background: transparent; }
.faqa-pro .faqa-tools { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.faqa-pro .faqa-tool { flex: 1 1 14rem; }
.faqa-pro .faqa-tool label { display: block; margin-bottom: .35rem; }
.faqa-pro .accordion-item { border: 1px solid #ced4da; border-radius: 0; margin-bottom: var(--faqa-gap); background: var(--faqa-background-color); scroll-margin-top: 6rem; }
.faqa-pro .accordion-header { margin: 0; display: flex; align-items: center; align-self: stretch; flex: 1; min-width: 0; gap: .25rem; cursor: pointer; }
.faqa-pro .faqa-heading { display: flex; align-items: center; gap: .5rem; padding: .375rem .75rem .375rem 1.25rem; border-radius: var(--faqa-radius); background: var(--faqa-background-color); }
.faqa-pro .faqa-heading.faqa-open { background: var(--faqa-active-color); }
.faqa-pro .faqa-title { min-width: 0; overflow-wrap: anywhere; }
.faqa-pro .accordion-item .accordion-button { color: var(--faqa-question-color); background: transparent; border-radius: var(--faqa-radius); text-align: left; width: 100%; min-width: 0; flex: 1 1 0; align-self: stretch; padding: .625rem 0; min-height: 2.75rem; box-shadow: none; }
.faqa-pro .accordion-button::after { display: none; }
.faqa-pro .faqa-copy, .faqa-pro .faqa-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; padding: .65rem; border: 0; border-radius: .3rem; background: transparent; color: var(--faqa-icon-color); cursor: pointer; }
.faqa-pro .faqa-copy { flex: 0 0 2.2rem; width: 1.75rem; height: 1.75rem; padding: .25rem; }
.faqa-pro .faqa-copy svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.faqa-pro .faqa-copy[data-copied="1"] { color: #146c43; }
.faqa-pro mark[data-faqa-match] { background: var(--faqa-highlight, #ffeb3b); color: #111; padding: 0; }
.faqa-pro .accordion-item .accordion-button { font-size: var(--faqa-question-size, 1rem); font-weight: var(--faqa-question-weight, inherit); line-height: var(--faqa-question-line, 1.5); }
.faqa-pro .accordion-body { color: var(--faqa-answer-color); font-size: var(--faqa-answer-size, 1rem); font-weight: var(--faqa-answer-weight, inherit); line-height: var(--faqa-answer-line, 1.6); }
.faqa-pro .faqa-bulk { margin-bottom: 1rem; }
.faqa-pro.faqa-theme-minimal .accordion-item { border: 0; border-bottom: 1px solid #ced4da; border-radius: 0; }
.faqa-pro.faqa-theme-minimal .faqa-heading { border-radius: 0; }
.faqa-pro.faqa-theme-cards .accordion-item { box-shadow: 0 3px 14px rgba(0,0,0,.09); border-color: transparent; }
.faqa-pro.faqa-theme-dark { color: #e2e8f0; }
.faqa-pro.faqa-theme-dark .faqa-tools, .faqa-pro.faqa-theme-dark [data-faqa-count], .faqa-pro.faqa-theme-dark [data-faqa-empty], .faqa-pro.faqa-theme-dark .faqa-bulk { background: #182230; padding: .75rem; border-radius: var(--faqa-radius); }
.faqa-pro.faqa-theme-dark .accordion-item { border-color: #475569; }
.faqa-pro.faqa-theme-dark .form-control, .faqa-pro.faqa-theme-dark .form-select { background-color: #25364d; color: #f8fafc; border-color: #64748b; }
.faqa-pro.faqa-theme-dark input::placeholder { color: #cbd5e1; }
.faqa-pro.faqa-theme-dark .btn-outline-secondary { color: #e2e8f0; border-color: #94a3b8; }
.faqa-pro.faqa-theme-dark .accordion-body a { color: #93c5fd; }
.faqa-pro .faqa-icon { width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem; fill: none; stroke: var(--faqa-icon-color); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.faqa-pro [aria-expanded="true"] .faqa-icon-vertical { display: none; }
.faqa-pro [aria-expanded="true"] .faqa-icon-arrow,
.faqa-pro [aria-expanded="true"] .faqa-icon-chevron,
.faqa-pro [aria-expanded="true"] .faqa-icon-caret { transform: rotate(180deg); }
.faqa-pro .faqa-icon-caret { color: var(--faqa-icon-color); }
.faqa-pro [hidden] { display: none !important; }
.faqa-pro button:focus-visible, .faqa-pro input:focus-visible, .faqa-pro select:focus-visible { outline: 3px solid var(--faqa-icon-color); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .faqa-pro .faqa-icon, .faqa-pro .collapsing { transition: none; } }
.faqa-pro.faqa-theme-large .accordion-item { margin-bottom: max(24px, calc(var(--faqa-gap, 8px) * 3)); }
/* Strip module chrome without removing formatting inside authored answers or keyboard focus. */
.faqa-pro.faqa-theme-clean,
.faqa-pro.faqa-theme-clean :is(.accordion, .accordion-item, .accordion-header, .faqa-heading, .faqa-heading.faqa-open, .accordion-button, .accordion-collapse, .accordion-body, .faqa-copy, .faqa-toggle, .faqa-tools, .faqa-tool, .faqa-bulk, .faqa-bulk .btn, .faqa-category-tabs, .faqa-category-tab, .faqa-category-tab[aria-pressed="true"], .form-control, .form-select, [data-faqa-count], [data-faqa-empty]) { border: 0; border-radius: 0; background: transparent; box-shadow: none; padding: 0; }
.faqa-pro.faqa-theme-clean .faqa-category-tabs { gap: 1rem; }
.faqa-pro.faqa-theme-clean .faqa-category-tab[aria-pressed="true"] { text-decoration: underline; text-underline-offset: .25em; }
.faqa-pro.faqa-theme-clean .form-select { appearance: auto; }
.faqa-pro.faqa-theme-clean.faqa-theme-clean-border .accordion-item { border-bottom: var(--faqa-clean-border, 1px solid #111); }
/* Explicit spacing also applies to Clean themes; zero preserves their default appearance. */
.faqa-pro[data-faqa-pro] > .accordion > .accordion-item { padding-bottom: calc(var(--faqa-item-padding, 0px) / 2); }
.faqa-pro[data-faqa-pro] > .accordion > .accordion-item > .faqa-heading > .accordion-header { padding-top: calc(var(--faqa-item-padding, 0px) / 2); }
