.componentAccordion {
    --max-h: 1000;
    --transition-time: .25s;
    --contentTopPadding: 22;
    --contentBottomPadding: 17;
}

.componentAccordion:has(.accordion-content.hidden) {
    --max-h: 0 !important;
}

.accordion-title {
    position: relative;
    cursor: pointer;
    padding-inline: 1rem;
    padding-block: 1rem;
    font-size: 1.25rem;
    line-height: 1.5rem;
    font-family: var(--font-primary);
}

.accordion-title span {
    width: 97%;
    display: block;
}

.accordion-title::after {
    content: '';
    position: absolute;
    top: 1.25rem;
    right: 1rem;
    width: 1rem;
    height: 1rem;
    background-image: url("img/filter-arrow-right-simple-8b7886f9987b862f425437d9d5d89d90.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: transform var(--transition-time) ease;
    transform: rotate(0deg);
}

.accordion-title.rotate-arrow-180::after {
    transform: rotate(90deg);
}

.accordion-content {
    max-height: calc(var(--max-h) * 1px);
    overflow: hidden;
    overflow: clip;
    transition: max-height var(--transition-time), padding-top var(--transition-time), padding-bottom var(--transition-time);
    line-height: 1.25rem;
    margin-inline: 1rem;
    /* margin pour la border-bottom */
    border-bottom: 2px solid var(--redMinusl);
}

.accordion-content a {
    color: var(--color-primary);
}

.accordion-content:not(.hidden) {
    max-height: calc((var(--max-h) + var(--contentBottomPadding)) * 1px);
}

.content-width>.block:last-of-type .componentAccordion {
    padding-bottom: 2.688rem;
}

@media screen and (min-width: 768px) {
    .componentAccordion {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .accordion-content {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .componentAccordion .accordion-title {
        width: 100%;
        padding-left: 3rem;
    }

    .accordion-title::after {
        right: 3rem;
    }

    .componentAccordion .accordion-title,
    .componentAccordion .accordion-content {
        /* max-width: 796px; */
    }

    .content-width>.block:last-of-type .componentAccordion {
        padding-bottom: 6.563rem;
    }

}

@media screen and (min-width: 1024px) {
    .componentAccordion .accordion-title {
        font-size: 1.75rem;
        line-height: 2rem;
    }

    .componentAccordion .accordion-content {
        line-height: 2rem;
    }
}

/* FAQ PAGE */