section.faq-section {
    --faq-accordion-toggle-border: var(--bg-d-20);
    --faq-accordion-toggle-hover: var(--titles);
    --faq-focus-outline: 2px solid var(--titles);
    --faq-focus-offset: 2px;

    padding-block-start: 30px;

    @media (min-width: 991px) {
        padding-block-start: 0;
    }

    .faq-section__wrap {
        display: flex;
        flex-direction: column;
        inline-size: 100%;
        row-gap: 20px;
        overflow: hidden;
    }

    .faq-section__accordion-group {
        inline-size: 100%;
        background-color: var(--bg-d-20);
        padding-inline: 25px;

        @media (min-width: 991px) {
            padding: 30px 60px 0;
        }

        &:not(:last-child) .faq-section__accordion-menu {
            border-block-end: 1px solid #DDDDDD;
        }
    }

    .faq-section__accordion-menu {
        position: relative;
        color: var(--main-d-20);
        font-weight: 600;
        font-size: 1.25rem;
        cursor: pointer;
        user-select: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-block: 20px 30px;
        gap: 20px;
        inline-size: 100%;
        transition: border 0.15s ease-in;

        @media (min-width: 991px) {
            padding-block: 0 30px;
        }

        .faq-section__title {
            text-align: left;
            margin-inline: 0;
            pointer-events: none;
            text-wrap: pretty;
        }

        &[aria-expanded="true"] {
            border-block-end-color: transparent !important;
        }
    }

    .accordion-toggle {
        outline: 1px solid var(--faq-accordion-toggle-border);
        inline-size: 40px;
        block-size: 40px;
        display: grid;
        place-content: center;
        flex-shrink: 0;

        svg {
            transition: transform 0.3s ease;
            pointer-events: none;
        }
    }

    .faq-section__accordion-content {
        height: 0;
        overflow: hidden;

        .faq-section__qa-item {
            padding-block-start: 40px;

            &:first-child {
                padding-block-start: 10px;
            }

            &:last-child {
                padding-block-end: 40px;
                border-block-end: 1px solid #DDD;
            }
        }

        &.expanded {
            height: auto;
        }
    }

    .faq-section__question {
        font-weight: 700;
        text-wrap: pretty;
        font-size: 1rem;
    }

    .faq-section__answer {
        &.description p {
            padding: 10px 0;

            & + p {
                padding-inline-start: 0;
            }
        }
    }
}
