.timeline--container {
    padding: 32px 0;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

@media screen and (min-width: 1024px) {
    .timeline--container {
        padding: 64px 0;
        gap: 48px;
    }
}

.timeline .co-text {
    display: grid;
    grid-template-columns: auto;
    gap: 32px;
    justify-items: center;
}

@media screen and (min-width: 768px) {
    .timeline .co-text {
        flex-direction: row;
        justify-content: space-between;
        grid-template-columns: auto auto;
    }
}

.timeline .co-text--content:first-child {
    max-width: 592px;
}

.timeline .co-text--content:nth-child(2) {
    max-width: 488px;
}

.timeline .co-text--content p:not(.uptitle) {
    font-size: 16px;
}

.timeline--qsn {
    background-color: var(--ocre-20);
    padding: 32px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media screen and (min-width: 1024px) {
    .timeline--qsn {
        padding: 48px 56px;
        gap: 32px;
    }
}

.timeline--qsn-item {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.timeline--qsn-item.open .count::after {
    --mask: url(../../../../../../themes/apo/resources/images/icons/arrow-down.svg) no-repeat center;
}

@media screen and (min-width: 768px) {
    .timeline--qsn-item.open .count::after {
        --mask: url(../../../../../../themes/apo/resources/images/icons/fermer.svg) no-repeat center;
    }
}

.timeline--qsn-item:not(:last-child) {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--neutre-60);
}

@media screen and (min-width: 768px) {
    .timeline--qsn-item:not(:last-child) {
        border-bottom: unset;
        padding-bottom: 0;
    }
}

.timeline--qsn-item p {
    font-family: var(--roboto);
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
    display: flex;
    justify-content: space-between;
}

.timeline--qsn-content {
    display: grid;
    grid-template-columns: auto 75px;
    row-gap: 16px;
}

@media screen and (min-width: 768px) {
    .timeline--qsn-content {
        grid-template-columns: 378px auto;
        row-gap: 0;
        align-items: end;
    }
}

.timeline--qsn-content .title {
    grid-column: 1/2;
    order: 1;
}

@media (hover: hover) {
    .timeline--qsn-content .title {
        cursor: pointer;
    }
}

.timeline--qsn-content img {
    grid-column: 1/-1;
    order: 3;
    height: 220px;
}

@media screen and (min-width: 768px) {
    .timeline--qsn-content img {
        grid-column: 1/2;
        grid-row: 2/3;
        justify-self: self-end;
        padding-right: 32px;
    }
}

.timeline--qsn-content .count {
    font-weight: 700;
    display: flex;
    gap: 16px;
    border-left: 1px solid var(--neutre-60);
    padding-left: 20px;
    justify-content: space-between;
    grid-column: 2/3;
    order: 2;
}

@media screen and (min-width: 768px) {
    .timeline--qsn-content .count {
        padding-left: 40px;
    }
}

@media (hover: hover) {
    .timeline--qsn-content .count {
        cursor: pointer;
    }
}

.timeline--qsn-content .count::after {
    content: "";
    display: block;
    --mask: url(../../../../../../themes/apo/resources/images/icons/arrow-up.svg) no-repeat center;
    mask: var(--mask);
    mask-size: contain;
    background-color: var(--neutre-100);
    height: 24px;
    width: 24px;
    flex-shrink: 0;
}

@media screen and (min-width: 768px) {
    .timeline--qsn-content .count::after {
        --mask: url(../../../../../../themes/apo/resources/images/icons/arrow-right.svg) no-repeat center;
    }
}

.timeline--qsn-content .rep {
    grid-column: 1/-1;
    order: 4;
    font-size: 16px;
}

@media screen and (min-width: 768px) {
    .timeline--qsn-content .rep {
        grid-column: 2/3;
        grid-row: 2/3;
        border-left: 1px solid var(--neutre-60);
        padding-left: 40px;
        display: block;
        height: 100%;
        align-content: flex-end;
    }
}