/**
 * Widget Timeline bénéfices Business
 * Selector: .cbt-benefits-timeline
 * Vars : --cbt-accent (#002f87), --cbt-title (#1a1a1a), --cbt-text (#54627F)
 */

.cbt-benefits-timeline {
    --cbt-accent: #002f87;
    --cbt-title: #1a1a1a;
    --cbt-text: #54627F;
    --cbt-icon-size: 44px;
    --cbt-gap-y: 40px;
    font-family: 'Gotham', 'Montserrat', sans-serif;
}

.cbt-benefits-timeline__inner {
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 48px;
    align-items: center;
}

.cbt-benefits-timeline--img-right .cbt-benefits-timeline__inner {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}

.cbt-benefits-timeline--img-right .cbt-benefits-timeline__media {
    order: 2;
}

.cbt-benefits-timeline--img-right .cbt-benefits-timeline__list {
    order: 1;
}

.cbt-benefits-timeline__media {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cbt-benefits-timeline__image {
    width: 100%;
    max-width: 480px;
    height: auto;
    display: block;
    border-radius: 16px !important;
    object-fit: cover;
}

/* Timeline */

.cbt-benefits-timeline__list {
    list-style: none;
    counter-reset: cbt-step;
    margin: 0;
    padding: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--cbt-gap-y);
}

.cbt-benefits-timeline__item {
    position: relative;
    display: grid;
    grid-template-columns: var(--cbt-icon-size) 1fr;
    gap: 20px;
    align-items: flex-start;
}

/* Ligne verticale reliant les icônes.
   On la dessine depuis le CENTRE de l'icône courante vers le CENTRE de l'icône
   suivante - donc top = moitié de l'icône, height = espace entre les items +
   moitié de l'icône du dessous. */
.cbt-benefits-timeline__item:not(:last-child)::before {
    content: "";
    position: absolute;
    left: calc(var(--cbt-icon-size) / 2 - 1px);
    top: var(--cbt-icon-size);
    width: 2px;
    height: calc(100% + var(--cbt-gap-y) - var(--cbt-icon-size));
    background: var(--cbt-accent);
    opacity: 0.25;
    border-radius: 2px;
    z-index: 0;
}

.cbt-benefits-timeline__icon {
    position: relative;
    z-index: 1;
    width: var(--cbt-icon-size);
    height: var(--cbt-icon-size);
    border-radius: 50%;
    background: #fff;
    color: var(--cbt-accent);
    border: 2px solid var(--cbt-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    box-shadow: 0 2px 8px rgba(0, 47, 135, 0.08);
}

.cbt-benefits-timeline__icon i {
    line-height: 1;
}

.cbt-benefits-timeline__icon img {
    width: 20px;
    height: 20px;
    display: block;
}

.cbt-benefits-timeline__content {
    padding-top: 6px;
}

.cbt-benefits-timeline__title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
    color: var(--cbt-title);
    line-height: 1.3;
}

.cbt-benefits-timeline__description {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--cbt-text);
}

/* Responsive */

@media (max-width: 991px) {
    .cbt-benefits-timeline__inner,
    .cbt-benefits-timeline--img-right .cbt-benefits-timeline__inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .cbt-benefits-timeline--img-right .cbt-benefits-timeline__media,
    .cbt-benefits-timeline--img-right .cbt-benefits-timeline__list {
        order: unset;
    }
    .cbt-benefits-timeline__image {
        max-width: 400px;
        margin: 0 auto;
    }
}

@media (max-width: 576px) {
    .cbt-benefits-timeline { padding: 24px 16px; }
    .cbt-benefits-timeline__inner { gap: 24px; }
    .cbt-benefits-timeline__list { gap: 28px; }
    .cbt-benefits-timeline__item:not(:last-child)::before {
        height: calc(100% + 28px - var(--cbt-icon-size));
    }
}
