@media screen {
    .faq-answers {
        max-width: 85ch;
    }

    .faq-index-link {
        color: var(--bs-body-color);
        transition: border-color 150ms ease, box-shadow 150ms ease, color 150ms ease, transform 150ms ease;
    }

        .faq-index-link:hover {
            border-color: rgba(var(--bs-primary-rgb), 0.45) !important;
            box-shadow: 0 0.5rem 1rem rgba(15, 23, 42, 0.1) !important;
            color: var(--bs-primary);
            transform: translateY(-2px);
        }

        .faq-index-link:focus-visible {
            border-color: var(--bs-primary) !important;
            box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.2) !important;
            outline: 0;
        }

        .faq-index-link .bi-arrow-down-right {
            transition: transform 150ms ease;
        }

        .faq-index-link:hover .bi-arrow-down-right,
        .faq-index-link:focus-visible .bi-arrow-down-right {
            transform: translate(0.15rem, 0.15rem);
        }

    .faq-question {
        scroll-margin-top: 1.5rem;
    }

        .faq-question:focus-visible {
            border-radius: 0.25rem;
            outline: 0.2rem solid rgba(var(--bs-primary-rgb), 0.3);
            outline-offset: 0.25rem;
        }
}

@media (prefers-reduced-motion: reduce) {
    .faq-index-link,
    .faq-index-link .bi-arrow-down-right {
        transition: none;
    }

        .faq-index-link:hover {
            transform: none;
        }
}

@media print {
    #faqQuestions,
    .card-header .badge {
        display: none !important;
    }

    .card {
        border: 0 !important;
        box-shadow: none !important;
    }

    .card-body {
        padding: 0 !important;
    }

    .faq-answers {
        max-width: none;
    }

    .faq-question {
        break-after: avoid-page;
        margin-top: 1.5rem !important;
        padding-top: 0.75rem !important;
    }

        .faq-question + p,
        .faq-question + ul {
            break-before: avoid-page;
        }
}
