/* [Programs] Session Flow widget styles.
   Scoped under .mnny-program-session-flow to prevent Elementor's default
   h4 and p typography resets from overriding the values in theme.css.
   All values are exact copies from the prototype (global.css). */

/* ── Section wrapper ───────────────────────────────────────── */
.mnny-program-session-flow > section {
    background: white;
}

/* ── Section header ────────────────────────────────────────── */
.mnny-program-session-flow .section-header {
    margin-bottom: var(--space-16);
    text-align: center;
    max-width: 600px;
    margin-inline: auto;
}

.mnny-program-session-flow .section-header .label {
    display: block;
    margin-bottom: var(--space-3);
}

.mnny-program-session-flow .section-header h2 {
    margin-bottom: var(--space-4);
}

.mnny-program-session-flow .section-header p {
    color: var(--color-text-secondary);
    font-size: var(--text-lg);
    max-width: 56ch;
    margin-inline: auto;
}

/* ── Timeline ──────────────────────────────────────────────── */
.mnny-program-session-flow .session-flow {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mnny-program-session-flow .session-step {
    display: grid;
    grid-template-columns: 80px 32px 1fr;
    gap: var(--space-4);
    align-items: flex-start;
}

/* ── Time stamp ────────────────────────────────────────────── */
.mnny-program-session-flow .session-time {
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    color: var(--color-accent);
    letter-spacing: 0.04em;
    padding-top: var(--space-1);
    text-align: right;
}

/* ── Connector (dot + line) ────────────────────────────────── */
.mnny-program-session-flow .session-connector {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mnny-program-session-flow .session-dot {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    background: var(--color-accent);
    border-radius: var(--radius-full);
    margin-top: var(--space-1);
}

.mnny-program-session-flow .session-line {
    width: 2px;
    flex: 1;
    background: var(--color-border);
    min-height: var(--space-10);
}

/* ── Content ───────────────────────────────────────────────── */
.mnny-program-session-flow .session-content {
    padding-bottom: var(--space-8);
}

.mnny-program-session-flow .session-content h4 {
    margin-bottom: var(--space-2);
    /* Reset any Elementor heading overrides */
    color: var(--color-text-primary);
    font-size: var(--text-base);
    font-weight: var(--weight-semibold);
}

.mnny-program-session-flow .session-content p {
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    max-width: 52ch;
    line-height: var(--leading-relaxed);
    margin: 0;
}

/* Strip Elementor widget container padding. */
.elementor-widget-mnny_program_session_flow > .elementor-widget-container {
    padding: 0 !important;
}
