.service-timeline-36b32b6e {
    display: flex;
    flex-direction: column;
    gap: 3rem; /* default, overridable by widget style */
}

.service-timeline-item-36b32b6e {
    display: flex;
    flex-direction: row;
    gap: 2rem;
    align-items: flex-start;
}

.service-timeline-number-wrapper-36b32b6e {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    align-self: stretch;
}

.service-timeline-number-36b32b6e {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    line-height: 1;
    z-index: 2;
    box-sizing: border-box;
}

.service-timeline-line-36b32b6e {
    position: absolute;
    top: 3.5rem; /* default based on default number size */
    bottom: -3rem; /* dynamic based on gap */
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    background-color: #e0e0e0;
    z-index: 1;
}

.service-timeline-content-36b32b6e {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    box-sizing: border-box;
}

.service-timeline-title-36b32b6e {
    margin-top: 0;
    margin-bottom: 0.75rem; /* default, overridable by widget style */
}

.service-timeline-desc-36b32b6e {
    margin: 0;
}

.service-timeline-desc-36b32b6e p:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .service-timeline-item-36b32b6e {
        flex-direction: column;
        gap: 1.5rem;
    }
    .service-timeline-number-wrapper-36b32b6e {
        width: auto;
        align-self: flex-start;
    }
    .service-timeline-line-36b32b6e {
        display: none; /* Hide indicator lines on mobile layout */
    }
}
