/* FAQ-only presentation. Bootstrap continues to own collapse behavior and ARIA state. */
.tmh-faq-intro-icon {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1.25rem;
    background: var(--tmh-gold, var(--bs-warning-bg-subtle));
    color: var(--tmh-link);
    font-size: 1.65rem;
    box-shadow: 0 .25rem 1rem #7043180d;
}

.tmh-faq {
    --bs-accordion-color: var(--bs-body-color);
    --bs-accordion-border-color: var(--bs-border-color);
    --bs-accordion-border-radius: 1.125rem;
    --bs-accordion-inner-border-radius: 1.0625rem;
    --bs-accordion-btn-color: var(--tmh-ink);
    --bs-accordion-active-color: var(--tmh-link);
    --bs-accordion-active-bg: var(--tmh-coral, var(--bs-primary-bg-subtle));
}

.tmh-faq > .accordion-item {
    margin-bottom: .875rem;
    border: 1px solid var(--bs-accordion-border-color);
    border-radius: var(--bs-accordion-border-radius);
    box-shadow: 0 .25rem 1rem #7043180a;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.tmh-faq > .accordion-item:has(.accordion-button[aria-expanded="true"]) {
    border-color: var(--bs-primary-border-subtle);
    box-shadow: 0 .5rem 1.5rem #70431814;
}

.tmh-faq .accordion-button {
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-radius: var(--bs-accordion-inner-border-radius);
    box-shadow: none;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: normal;
}

.tmh-faq .accordion-button:not(.collapsed) { border-radius: var(--bs-accordion-inner-border-radius) var(--bs-accordion-inner-border-radius) 0 0; }
.tmh-faq .accordion-button::after { display: none; }
.tmh-faq .accordion-button:hover { background: var(--bs-accordion-active-bg); }
.tmh-faq .accordion-button:focus-visible { outline: 3px solid var(--tmh-link); outline-offset: 3px; z-index: 3; }
.tmh-faq-question { min-width: 0; overflow-wrap: anywhere; }

.tmh-faq-question-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: .875rem;
    background: var(--tmh-gold, var(--bs-warning-bg-subtle));
    color: var(--tmh-link);
    font-size: 1.25rem;
}

.tmh-faq-toggle { width: 1.75rem; height: 1.75rem; color: var(--tmh-link); }
.tmh-faq .accordion-button[aria-expanded="true"] .tmh-faq-question-icon { background: var(--tmh-coral, var(--bs-primary-bg-subtle)); }
.tmh-faq .accordion-button[aria-expanded="true"] .tmh-faq-plus,
.tmh-faq .accordion-button[aria-expanded="false"] .tmh-faq-minus { display: none; }

.tmh-faq .accordion-body {
    padding: 1.25rem 1.5rem 1.5rem 5rem;
    line-height: 1.85;
    overflow-wrap: anywhere;
}
.tmh-faq .accordion-body > :last-child { margin-bottom: 0; }

@media (max-width: 575.98px) {
    .tmh-faq .accordion-button { gap: .75rem; padding: 1rem; font-size: 1rem; }
    .tmh-faq-question-icon { width: 2rem; height: 2rem; font-size: 1.125rem; }
    .tmh-faq .accordion-body { padding: 1rem 1.25rem 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
    .tmh-faq > .accordion-item { transition: none; }
}
