/* Container for the whole schedule */
.conference-schedule {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.5;
  color: #333;
}

/* Day Headers (Sat/Sun) */
.day-header {
  font-size: 1.2rem;
  margin-top: 30px;
  margin-bottom: 15px;
  border-bottom: 2px solid #eee;
  padding-bottom: 10px;
}

/* Divider between days */
.day-divider {
  border: 0;
  height: 1px;
  background: #ddd;
  margin: 40px 0;
}

/* --- THE BOXES --- */

.session-box {
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 15px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.session-title {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.9;
}

/* Morning Style (Your Pink) */
.session-box.morning {
  background-color: #faf3f6; /* Very light pink background */
  border-left: 6px solid #CB769E; /* Your main color */
}
.session-box.morning .session-title {
  color: #CB769E;
}

/* Afternoon Style (Slate Blue) */
.session-box.afternoon {
  background-color: #f0f4f8; /* Very light blue background */
  border-left: 6px solid #6D8EA0; /* Complementary Slate Blue */
}
.session-box.afternoon .session-title {
  color: #557282;
}

/* Lunch Break Style */
.lunch-break {
  display: flex;
  gap: 24px;               /* Matches the list gap */
  padding: 15px 20px;
  margin-bottom: 15px;
  background-color: #f9f9f9;
  border-radius: 6px;
  border: 1px dashed #ccc;
  color: #666;
  font-style: italic;
}

/* --- LIST LAYOUT --- */

.schedule-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.schedule-list li {
  display: flex; 
  align-items: flex-start; /* Keeps text aligned at the top if event is multi-line */
  gap: 24px;               /* Adds a generous 24px gap between time and event */
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.schedule-list li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Time Column */
.time {
  flex: 0 0 160px;         /* Increased from 140px to 160px for better fit */
  min-width: 160px;        /* Ensures it never gets smaller than 160px */
  font-weight: 700;
  font-size: 0.95rem;
  color: #444;
  white-space: nowrap;     /* Prevents the time range from wrapping to a new line */
}

/* Event Column */
.event {
  flex: 1; /* Takes up remaining space */
}

/* Mobile Responsiveness */
@media (max-width: 600px) {
  .schedule-list li, .lunch-break {
    flex-direction: column;
  }
  .time {
    margin-bottom: 4px;
    flex-basis: auto;
  }
}
