.faq-accordion { display: grid; gap: 11px; }
.faq-accordion details { min-width: 0; scroll-margin-top: 110px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: 0 8px 22px rgba(35,31,32,.035); }
.faq-accordion details[open] { border-color: rgba(239,63,35,.42); box-shadow: 0 12px 30px rgba(35,31,32,.07); }
.faq-accordion summary { min-height: 62px; display: grid; grid-template-columns: minmax(0,1fr) 26px; gap: 16px; align-items: center; padding: 16px 19px; color: var(--ink); font-size: .97rem; font-weight: 830; line-height: 1.35; cursor: pointer; list-style: none; }
.faq-accordion summary::-webkit-details-marker { display: none; }
.faq-accordion summary i { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--brand-primary-soft); color: var(--accent-action); font-size: .72rem; transition: transform .18s ease; }
.faq-accordion details[open] summary i { transform: rotate(45deg); }
.faq-answer { min-width: 0; padding: 0 19px 20px; overflow-x: auto; color: var(--muted); font-size: .92rem; }
.faq-answer > :first-child { margin-top: 0; }
.faq-answer > :last-child { margin-bottom: 0; }
.faq-answer.rich-text table, .faq-entry-page__answer.rich-text table { width: 100%; min-width: 500px; margin: 18px 0 24px; overflow: hidden; border: 1px solid var(--line); border-collapse: separate; border-spacing: 0; border-radius: 10px; background: #fff; box-shadow: 0 10px 24px rgba(35,31,32,.07); color: var(--ink); }
.faq-answer.rich-text th, .faq-entry-page__answer.rich-text th { padding: 12px 14px; border: 0; background: var(--brand-primary); color: #fff; font-size: .78rem; font-weight: 850; line-height: 1.35; text-align: left; }
.faq-answer.rich-text td, .faq-entry-page__answer.rich-text td { padding: 11px 14px; border: 0; border-top: 1px solid var(--line); background: #fff; font-size: .84rem; line-height: 1.4; text-align: left; vertical-align: middle; }
.faq-answer.rich-text tbody tr:nth-child(even) td, .faq-entry-page__answer.rich-text tbody tr:nth-child(even) td { background: #fbfaf9; }
.faq-answer.rich-text tbody td:not(:first-child), .faq-entry-page__answer.rich-text tbody td:not(:first-child) { border-left: 1px solid var(--line); background: var(--brand-primary-soft); color: var(--ink); font-weight: 800; }
.faq-answer__permalink { margin: 20px 0 0 !important; padding-top: 14px; border-top: 1px solid var(--line); }
.faq-answer__permalink a { display: inline-flex; align-items: center; gap: 8px; color: var(--accent-action); font-size: .8rem; font-weight: 850; text-decoration: none; }

@media (max-width: 640px) {
    .faq-accordion summary { padding: 15px; font-size: .9rem; }
    .faq-answer { padding: 0 15px 17px; }
}

@media (prefers-reduced-motion: reduce) {
    .faq-accordion summary i { transition: none; }
}
