/* Festival module styling: layered on top of the app's style.css. */
.festival-container {
  max-width: 960px;
  margin: 1.5rem auto;
  padding: 0 1rem;
}
.festival-container h1 { margin-bottom: 0.5rem; }
.festival-container section { margin: 1rem 0; }
.festival-container ul { list-style: none; padding-left: 0; }
.festival-container li { padding: 0.25rem 0; }

/* favorite toggle button */
.fav-btn {
  border: none; background: none; cursor: pointer;
  font-size: 1.1rem; line-height: 1;
}

/* overlap-room watcher chips (dynamic color stays inline) */
.watcher-chip {
  display: inline-block; color: #fff; padding: 0 6px;
  border-radius: 3px; font-size: 0.8rem; margin-left: 4px;
}
.member-swatch {
  display: inline-block; width: 0.8em; height: 0.8em;
  vertical-align: middle; margin-right: 4px; border-radius: 2px;
}

.festival-footer {
  max-width: 960px; margin: 2rem auto 1rem; padding: 1rem;
  border-top: 1px solid #ddd; text-align: center; font-size: 0.85rem;
}
.festival-footer a { margin: 0 0.25rem; }

/* time-axis timetable grid (show / room) */
.tt-day h2 { margin-bottom: 0.25rem; }
.tt-scroll { overflow-x: auto; }
.tt-grid { min-width: 640px; }
.tt-axis, .tt-track { display: flex; align-items: stretch; }
.tt-label {
  flex: 0 0 7em; padding-right: 0.5rem; align-self: center;
  font-size: 0.85rem; font-weight: bold;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.tt-lane {
  position: relative; flex: 1 1 auto; min-height: 3.2rem; margin: 2px 0;
  border: 1px solid #ddd; border-radius: 4px;
  /* hour gridlines: tile width comes from inline background-size (hourWidthPct) */
  background-image: linear-gradient(to right, #eee 1px, transparent 1px);
  background-repeat: repeat-x;
}
.tt-axis-lane { min-height: 1.4rem; border: none; background: none; }
.tt-hour {
  position: absolute; top: 0; font-size: 0.75rem; color: #666;
}
.tt-block {
  position: absolute; top: 2px; bottom: 2px; overflow: hidden;
  background: #eef4ff; border: 1px solid #9db8e8; border-radius: 4px;
  padding: 2px 4px; font-size: 0.8rem; line-height: 1.25;
}
.tt-block .tt-time { display: block; color: #666; }

/* wiki editor: mark-and-save deletion */
.edit-deleted { text-decoration: line-through; opacity: 0.5; }
.edit-warning { color: #a33; font-size: 0.85rem; }
