/* ==========================================================================
   BLOCK: SESSIONS -- congress/forum programme: day headings, numbered
   sessions, talk cards with speakers and Video / Documents actions.
   Shares .with-aside, .aside-panel, .chip-btn conventions with the
   library block (both loaded on congress pages).
   ========================================================================== */

@scope (.block-sessions) {
    :scope {
        padding-block: clamp(44px, 9cqw, 130px);
        container-type: inline-size;
        container-name: sessions;
    }

    .with-aside { display: grid; gap: clamp(28px, 4cqw, 64px); align-items: start; }
    @container sessions (width >= 1000px) {
        .with-aside { grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); }
    }

    .day-title {
        font-weight: 100;
        font-size: clamp(1.6rem, 3.6cqw, 3rem);
        line-height: 1.05;
        margin-block: clamp(32px, 5cqw, 72px) 14px;
    }
    .day-title:first-child { margin-block-start: 0; }
    .day-title strong { font-weight: 900; }

    .session {
        margin-block-start: clamp(28px, 4cqw, 56px);
    }
    .session > h3 {
        font-size: 0.8rem;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.28em;
        color: var(--accent-ink);
        padding-block-end: 14px;
        border-block-end: 2px solid var(--accent-lime);
        margin-block-end: 24px;
    }

    .talk {
        border: 1px solid var(--panel-border);
        border-inline-start: 3px solid var(--accent-lime);
        background: var(--panel-bg);
        color: var(--panel-text);
        padding: clamp(18px, 2.8cqw, 40px) clamp(20px, 3cqw, 44px);
        margin-block-end: 18px;
        display: grid;
        gap: 14px;
    }
    .talk h4 { font-weight: 600; font-size: clamp(1.05rem, 1.4cqw, 1.3rem); line-height: 1.45; }
    .talk h4 span {
        display: block;
        font-weight: 300;
        font-size: 0.95rem;
        color: var(--panel-muted);
        margin-block-start: 8px;
        line-height: 1.6;
    }
    .speakers { display: grid; gap: 8px; }
    .speakers li {
        font-weight: 300;
        font-size: 0.95rem;
        line-height: 1.55;
        color: var(--panel-muted);
        padding-inline-start: 18px;
        border-inline-start: 1px solid var(--panel-border);
    }
}
