/* MFTD 2027 - public programme page. Loaded on top of base.css (Program::index()). */

.program { padding-bottom: var(--section-y); max-width: var(--container-narrow); }

.program__empty { text-align: center; color: var(--c-muted); padding: var(--s-8) 0; }

/* Day switcher - a real tab strip with JS (assets/js/main.js), every day's
   panel simply stacked and visible without it. */
.day-tabs {
  display: flex;
  gap: var(--s-3);
  justify-content: center;
  margin-bottom: var(--s-7);
  flex-wrap: wrap;
}
.day-tabs__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-1);
  padding: var(--s-3) var(--s-6);
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: var(--c-bg);
  font-family: var(--font-body);
  font-weight: var(--fw-semibold);
  color: var(--c-ink);
  cursor: pointer;
}
.day-tabs__btn span { font-size: var(--fs-tiny); font-weight: var(--fw-medium); color: var(--c-muted); }
.day-tabs__btn.is-active {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
}
.day-tabs__btn.is-active span { color: var(--c-accent-soft); }

.program-day { margin-bottom: var(--s-9); }
.program-day[data-day-panel] { margin-bottom: 0; }
.program-day__title { color: var(--c-primary); margin-bottom: var(--s-1); }
.program-day__date { color: var(--c-muted); margin-bottom: var(--s-6); }

.program-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: 2px solid var(--c-border);
}

.program-item {
  display: flex;
  align-items: flex-start;
  gap: var(--s-4);
  padding: var(--s-4) 0 var(--s-4) var(--s-5);
  margin-left: -2px;
  border-left: 2px solid var(--c-accent);
}

.program-item__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--c-surface);
  color: var(--c-accent-text);
  margin-top: -0.25rem;
}
.program-item__icon .icon { width: 1.25rem; height: 1.25rem; }

.program-item__time {
  flex-shrink: 0;
  width: 5.5rem;
  padding-top: var(--s-2);
  font-family: var(--font-title);
  font-weight: var(--fw-semibold);
  color: var(--c-primary);
}

.program-item__body h3 { font-size: var(--fs-h4); margin-bottom: var(--s-2); }
.program-item__body p { color: var(--c-muted); font-size: var(--fs-small); }

.program-item__speakers {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-4);
  margin: var(--s-3) 0 0;
  padding: 0;
}
.program-item__speakers li {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
}
.program-item__speakers img { border-radius: 50%; object-fit: cover; }

.program-item--pause .program-item__body h3,
.program-item--dejeuner .program-item__body h3 { color: var(--c-muted); font-weight: var(--fw-medium); }
