/* =============================================================================
   Программа форума. Токены — из home-2026.css.
   ========================================================================== */

.program-page {
   /* Шапка сайта лежит поверх страницы — отступ под неё. */
   padding: clamp(140px, 8rem + 4vw, 200px) 0 var(--space-section);
}

.program-page__header {
   max-width: 860px;
   margin: 0 auto 48px;
   text-align: center;
}

.program-page__title {
   margin: 0 0 12px;
   font-size: var(--fs-display);
   font-weight: 600;
   line-height: 1.05;
   letter-spacing: -0.03em;
   color: var(--c-text);
}

.program-page__lead {
   margin: 0 0 28px;
   font-size: var(--fs-lead);
   line-height: 1.5;
   color: var(--c-text-2);
}

.program-day { max-width: 960px; margin: 0 auto 48px; }

.program-day__title {
   margin: 0 0 20px;
   font-size: var(--fs-subtitle);
   font-weight: 600;
   color: var(--c-text);
}

.program-list,
.program-tracks {
   margin: 0;
   padding: 0;
   list-style: none;
}

.program-item {
   display: grid;
   grid-template-columns: minmax(96px, 140px) minmax(0, 1fr);
   gap: 8px 24px;
   padding: 20px 24px;
   border-radius: var(--r-lg);
   background: var(--c-surface);
   box-shadow: inset 0 0 0 1px var(--c-hairline);
}

.program-item + .program-item { margin-top: 12px; }

.program-item__time {
   margin: 0;
   font-size: var(--fs-body);
   font-weight: 600;
   font-variant-numeric: tabular-nums;
   color: var(--c-accent);
}

.program-item__title {
   margin: 0 0 6px;
   font-size: var(--fs-body);
   font-weight: 600;
   line-height: 1.4;
   color: var(--c-text);
}

.program-item__meta,
.program-item__text {
   margin: 4px 0 0;
   font-size: var(--fs-small);
   line-height: 1.5;
   color: var(--c-text-2);
}

@media (max-width: 575.98px) {
   .program-item { grid-template-columns: minmax(0, 1fr); padding: 16px; }
}

/* Пока расписания нет: тематические сессии нумерованным списком. */
.program-empty {
   max-width: 860px;
   margin: 0 auto;
   padding: clamp(24px, 1rem + 3vw, 48px);
   border-radius: var(--r-xl);
   background: var(--c-surface);
   box-shadow: inset 0 0 0 1px var(--c-hairline);
}

.program-empty__text {
   margin: 0 0 24px;
   font-size: var(--fs-lead);
   line-height: 1.55;
   color: var(--c-text);
}

.program-tracks {
   counter-reset: track;
   display: grid;
   gap: 12px;
   margin-bottom: 32px;
}

.program-tracks li {
   position: relative;
   padding-left: 44px;
   font-size: var(--fs-body);
   line-height: 1.5;
   color: var(--c-text);
   counter-increment: track;
}

.program-tracks li::before {
   content: counter(track);
   position: absolute;
   top: 0;
   left: 0;
   display: grid;
   place-items: center;
   width: 30px;
   height: 30px;
   border-radius: 50%;
   background: rgba(59, 163, 245, 0.14);
   color: var(--c-accent);
   font-size: 0.875rem;
   font-weight: 600;
   font-variant-numeric: tabular-nums;
}
