.festival-programme {
  --festival-time-column-width: 4rem;
  --festival-room-width: 18.75rem;
}

.festival-programme__scroller {
  overflow-x: auto;
}

.festival-programme__grid {
  display: grid;
  grid-template-columns: var(--festival-time-column-width) repeat(var(--festival-room-count), var(--festival-room-width));
  width: max-content;
  min-width: 100%;
}

.festival-programme__full-width {
  grid-column: 2/-1;
}

.festival-programme__scroller {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.festival-programme__grid {
  border-top: 1px solid var(--bs-border-color);
  border-left: 1px solid var(--bs-border-color);
}

.festival-programme__corner,
.festival-programme__room,
.festival-programme__hour,
.festival-programme__cell {
  border-right: 1px solid var(--bs-border-color);
  border-bottom: 1px solid var(--bs-border-color);
}

.festival-programme__corner,
.festival-programme__room {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 0.75rem;
  background: var(--bs-body-bg);
}

.festival-programme__corner {
  left: 0;
  z-index: 4;
}

.festival-programme__room {
  font-weight: 600;
  text-align: center;
}

.festival-programme__hour {
  font-size: 0.75rem;
  color: #333333;
  position: sticky;
  left: 0;
  z-index: 101;
  padding: 1rem 0.75rem;
  background: var(--bs-body-bg);
  font-weight: 300;
}

.festival-programme__cell {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  /*min-height: 7rem;*/
  padding: 0.5rem;
  background: var(--bs-tertiary-bg);
}

.festival-programme__session {
  padding: 0.05rem;
}

.festival-programme__session-time {
  margin-bottom: 0.25rem;
  color: var(--bs-secondary-color);
  font-size: 0.875rem;
  font-weight: 600;
}

.festival-programme__session-title {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}
.festival-programme__session-title:hover {
  color: var(--bs-primary);
}

.festival-programme__scroller {
  overflow-x: auto;
  cursor: grab;
  overscroll-behavior-inline: contain;
}
.festival-programme__scroller.is-dragging {
  cursor: grabbing;
  user-select: none;
}
.festival-programme__scroller a,
.festival-programme__scroller img {
  -webkit-user-drag: none;
}

a.surrounding-session-link {
  position: relative;
  color: inherit;
}

a.surrounding-session-link:hover,
a.surrounding-session-link:focus,
a.surrounding-session-link:window-inactive {
  text-decoration: none;
}

.festival-title {
  max-width: 45rem;
}
.festival-title .session-title {
  font-size: 1rem;
}

.room-I0 .festival-title .session-title,
.room-A1 .festival-title .session-title,
.room-A2 .festival-title .session-title {
  font-size: 1.3rem;
}

.festival-title .room-label {
  display: none;
}

.festival-programme__full-width {
  gap: 0.5rem;
  padding: 0.5rem;
  background: var(--bs-tertiary-bg);
}
.festival-programme__full-width .festival-title .room-label {
  display: block;
}

.festival-programme__filter-button {
  top: 3rem;
  right: 0;
  float: inline-end;
  z-index: 110;
}

.programme-day-title {
  max-width: 12rem;
}

/*# sourceMappingURL=festival-programme.css.map */
