/* FAQ page (faq_list.php) */
.fj-faq { max-width: 880px; }
.fj-faq__tools { display: grid; gap: 1rem; margin-bottom: 2rem; }
.fj-faq__search input { width: 100%; height: 52px; padding: 0 1rem 0 2.8rem; border: 1px solid var(--fj-line, #dbe3ef); border-radius: 10px; font: inherit; font-size: 1rem;
  background: var(--fj-surface, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a90' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 1rem 50% / 18px no-repeat; }
.fj-faq__search input:focus { outline: none; border-color: var(--fj-primary, #1f5fbf); box-shadow: 0 0 0 3px color-mix(in srgb, var(--fj-primary, #1f5fbf) 20%, transparent); }
.fj-faq__cats { display: flex; flex-wrap: wrap; gap: .5rem; }
.fj-faq__cats button { appearance: none; display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .85rem; border: 1px solid var(--fj-line, #dbe3ef); border-radius: 8px;
  background: var(--fj-surface, #fff); color: var(--fj-text, #0b2a55); font-family: inherit; font-size: .9rem; font-weight: 600; line-height: 1; cursor: pointer; }
.fj-faq__cats button span { font-size: .75rem; padding: .15rem .4rem; border-radius: 4px; background: var(--fj-surface-2, #eef3fa); color: var(--fj-muted, #5a6b85); }
.fj-faq__cats button[aria-pressed="true"] { background: #0b2a55; border-color: #0b2a55; color: #fff; }
.fj-faq__cats button[aria-pressed="true"] span { background: rgba(255,255,255,.18); color: #fff; }
.fj-faq__cats button:focus-visible { outline: 3px solid var(--fj-gold-400, #e7c25a); outline-offset: 2px; }
.fj-faq__group { margin-bottom: 2.2rem; }
.fj-faq__group h2 { font-size: 1.2rem; margin: 0 0 .8rem; padding-bottom: .5rem; border-bottom: 2px solid var(--fj-gold-400, #e7c25a); display: inline-block; }
.fj-faq__item { border: 1px solid var(--fj-line, #dbe3ef); border-radius: 10px; background: var(--fj-surface, #fff); margin-bottom: .6rem; }
.fj-faq__item summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; cursor: pointer; font-weight: 600; color: var(--fj-text, #0b2a55); }
.fj-faq__item summary::-webkit-details-marker { display: none; }
.fj-faq__item summary::after { content: ""; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--fj-surface-2, #eef3fa)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 8l4 4 4-4' fill='none' stroke='%230b2a55' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; transition: transform .2s ease; }
.fj-faq__item[open] summary::after { transform: rotate(180deg); }
.fj-faq__item summary:focus-visible { outline: 3px solid var(--fj-gold-400, #e7c25a); outline-offset: -3px; border-radius: 10px; }
.fj-faq__item[open] { border-color: color-mix(in srgb, var(--fj-primary, #1f5fbf) 35%, var(--fj-line, #dbe3ef)); }
.fj-faq__a { padding: 0 1.15rem 1.1rem; color: var(--fj-text, #1d2b44); line-height: 1.65; }
.fj-faq__a > :first-child { margin-top: 0; }
.fj-faq__a p { margin: 0 0 .7rem; }
.fj-faq__a ol, .fj-faq__a ul { margin: 0 0 .8rem; padding-left: 1.3rem; }
.fj-faq__a li { margin-bottom: .45rem; }
.fj-faq__tablewrap { overflow-x: auto; margin: .4rem 0 .9rem; }
.fj-faq__a table { border-collapse: collapse; min-width: 100%; font-size: .9rem; }
.fj-faq__a td, .fj-faq__a th { border: 1px solid var(--fj-line, #dbe3ef); padding: .5rem .65rem; vertical-align: top; }
.fj-faq__a td p { margin: 0; }
.fj-faq__none { padding: 1rem 1.15rem; border-radius: 10px; background: var(--fj-surface-2, #eef3fa); }
.fj-faq .fj-pt-cta { margin-top: 2.6rem; padding: 1.7rem 1.8rem; border-radius: var(--fj-r-md); background: linear-gradient(135deg, var(--fj-primary), #0b2a52); color: #fff; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.2rem; }
.fj-faq .fj-pt-cta h3 { margin: 0 0 .3rem; color: #fff; font-size: 1.35rem; }
.fj-faq .fj-pt-cta p { margin: 0; max-width: 46ch; color: rgba(255, 255, 255, .85); }
.fj-faq .fj-pt-cta__btns { display: flex; flex-wrap: wrap; gap: .75rem; }
.fj-faq .fj-pt-cta .fj-btn--line { --b-ink: #fff; --b-line: rgba(255, 255, 255, .5); }
.fj-faq .fj-pt-cta .fj-btn--line:hover { --b-line: #fff; }

.fj-faq .fj-pt-cta a:not(.fj-btn) { color: #fff; text-decoration: underline; }
