/* Sessions list accessibility overrides
   - Avoid hardcoded light-theme grays on dark backgrounds
   - Improve focus visibility and link contrast
   - Keep changes scoped to sessions/agenda views
*/

/* Sessions list page (/sessions) */
.sessions .sessionid {
  color: color-mix(in srgb, var(--bs-link-color) 70%, var(--bs-body-color)) !important;
}

.sessions .session-meta,
.sessions .session-meta.text-secondary {
  font-size: 1rem;
  line-height: 1.35;
  color: #ffffff !important;
}

.sessions .session-meta a {
  font-weight: 600;
  color: var(--bs-link-color) !important;
  text-decoration: none !important;
}

.sessions .session-meta a:hover,
.sessions .session-meta a:focus,
.sessions .session-meta a:focus-visible {
  text-decoration: none !important;
}

.sessions a.no-underline,
.sessions a.regular-text {
  color: var(--bs-link-color) !important;
  text-decoration-color: color-mix(in srgb, var(--bs-link-color) 55%, transparent);
  text-underline-offset: 3px;
}

.sessions a.regular-text {
  /* Summary should read like body text, but stay accessible on dark bg */
  color: var(--bs-body-color) !important;
  text-decoration: none !important;
}

.sessions a.no-underline:hover,
.sessions a.regular-text:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

.sessions a.regular-text:hover,
.sessions a.regular-text:focus,
.sessions a.regular-text:focus-visible {
  text-decoration: none !important;
}

.sessions a:focus-visible {
  outline: 3px solid var(--bs-warning);
  outline-offset: 3px;
  border-radius: 6px;
}

/* Calendar view (agenda page) */
.sessions-calendar-container .calendar-table .session-details {
  color: var(--bs-secondary-color) !important;
}

.sessions-calendar-container .calendar-table .session-title a,
.sessions-table-container a.no-underline {
  color: var(--bs-link-color) !important;
  text-decoration-color: color-mix(in srgb, var(--bs-link-color) 55%, transparent);
  text-underline-offset: 3px;
}

.sessions-calendar-container .calendar-table .session-title a:hover,
.sessions-table-container a.no-underline:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

/* Make keyboard focus obvious everywhere in sessions views */
.sessions-calendar-container a:focus-visible,
.sessions-table-container a:focus-visible {
  outline: 3px solid var(--bs-warning);
  outline-offset: 3px;
  border-radius: 6px;
}

/* Mobile timeline (uses Bootstrap cards) */
.sessions-table-container .timeline-slot {
  border-left-color: var(--bs-secondary-color) !important;
}

.sessions-table-container .timeline-sessions .card {
  border-left-color: var(--bs-link-color) !important;
}

/* Ensure muted speaker line remains readable in dark mode */
.sessions-table-container .timeline-sessions .card .text-muted,
.sessions-table-container .timeline-sessions .card small.text-muted {
  color: var(--bs-secondary-color) !important;
}

