/* Timeline Vertical — aum-tl */
:root {
    --aum-tl-node-size: 36px;
    --aum-tl-line-color: var(--border, rgba(0,0,0,0.12));
    --aum-tl-line-width: 2px;
    --aum-tl-item-gap: 36px;
}

.aum-tl-list { display: flex; flex-direction: column; gap: var(--aum-tl-item-gap, 36px); }

/* ── Item base ── */
.aum-tl-item {
    display: flex;
    gap: 0;
    position: relative;
}

/* ── Node column ── */
.aum-tl-node-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    position: relative;
    margin-right: 24px;
}

/* Vertical line between items */
.aum-tl-item:not(:last-child) .aum-tl-node-col::after {
    content: '';
    position: absolute;
    top: var(--aum-tl-node-size, 36px);
    left: 50%;
    transform: translateX(-50%);
    width: var(--aum-tl-line-width, 2px);
    bottom: calc(-1 * var(--aum-tl-item-gap, 36px));
    background-color: var(--aum-tl-line-color, rgba(0,0,0,0.12));
}

/* Node circle */
.aum-tl-node {
    width: var(--aum-tl-node-size, 36px);
    height: var(--aum-tl-node-size, 36px);
    border-radius: 50%;
    background-color: var(--primary, #3b82f6);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    flex-shrink: 0;
    z-index: 1;
}
.aum-tl-node i, .aum-tl-node svg { width: 1em; height: 1em; display: block; }

/* ── Body ── */
.aum-tl-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: calc((var(--aum-tl-node-size, 36px) - 1.4em) / 2);
    min-width: 0;
}
.aum-tl-period {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--primary, #3b82f6);
    line-height: 1;
}
.aum-tl-title {
    font-size: 17px;
    font-weight: 600;
    color: var(--text-on-bg, #111110);
    margin: 4px 0 0;
    line-height: 1.3;
    letter-spacing: -0.01em;
}
.aum-tl-content {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-muted, #6f6e69);
    margin: 6px 0 0;
}

/* ── Alternating layout ── */
.aum-tl-layout--alternate .aum-tl-item:nth-child(even) {
    flex-direction: row-reverse;
}
.aum-tl-layout--alternate .aum-tl-item:nth-child(even) .aum-tl-node-col {
    margin-right: 0;
    margin-left: 24px;
}
.aum-tl-layout--alternate .aum-tl-item:nth-child(even) .aum-tl-body {
    text-align: right;
}

@media (max-width: 767px) {
    .aum-tl-layout--alternate .aum-tl-item:nth-child(even) { flex-direction: row; }
    .aum-tl-layout--alternate .aum-tl-item:nth-child(even) .aum-tl-node-col { margin-right: 24px; margin-left: 0; }
    .aum-tl-layout--alternate .aum-tl-item:nth-child(even) .aum-tl-body { text-align: left; }
}
