/* ============================================================
   mentorship.css — DataVix | /mentorship landing page
   Additive only: loaded AFTER excel.css (same .exl- design tokens,
   fonts, buttons, cards) and only adds the handful of components this
   page needs that excel.css doesn't already have (comparison table,
   weekly schedule timeline, batch/seats meter). Nothing here overrides
   or redefines an excel.css rule, so /excel is completely unaffected.
   ============================================================ */

/* Weekly schedule timeline */
.exl-schedule {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.exl-schedule-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #fff;
  border: 1px solid var(--exl-line);
  border-radius: var(--exl-radius-md);
  padding: 1rem 1.25rem;
}
.exl-schedule-day {
  flex: 0 0 6.5rem;
  font-family: var(--exl-font-head);
  font-weight: 800;
  font-size: 0.92rem;
  color: var(--exl-primary);
}
.exl-schedule-topic { font-weight: 700; font-size: 0.98rem; color: var(--exl-ink); }
.exl-schedule-sub { font-size: 0.85rem; color: var(--exl-muted); margin-top: 0.15rem; }
.exl-schedule-dot {
  width: 0.6rem; height: 0.6rem; border-radius: 50%;
  background: var(--exl-secondary); flex-shrink: 0;
}

/* Comparison table: Others vs DataVix */
.exl-compare-wrap { overflow-x: auto; border-radius: var(--exl-radius-lg); box-shadow: var(--exl-shadow-card); }
.exl-compare {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  min-width: 34rem;
}
.exl-compare th, .exl-compare td {
  padding: 0.95rem 1.25rem;
  text-align: left;
  border-bottom: 1px solid var(--exl-line);
  font-size: 0.92rem;
}
.exl-compare th {
  font-family: var(--exl-font-head);
  font-weight: 800;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.exl-compare thead th:first-child { color: var(--exl-muted); background: #fff; }
.exl-compare thead th:nth-child(2) { color: #94a3b8; background: #f8fafc; }
.exl-compare thead th:nth-child(3) { color: var(--exl-primary); background: rgba(124,58,237,0.06); }
.exl-compare td:first-child { color: var(--exl-ink-soft); font-weight: 600; }
.exl-compare td:nth-child(2) { color: #94a3b8; background: #fbfaf8; }
.exl-compare td:nth-child(3) { color: var(--exl-ink); font-weight: 700; background: rgba(124,58,237,0.05); }
.exl-compare td:nth-child(2) svg, .exl-compare td:nth-child(3) svg { flex-shrink: 0; vertical-align: -3px; margin-right: 0.4rem; }
.exl-compare tr:last-child td { border-bottom: 0; }

/* Seats / batch meter */
.exl-seats-meter {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--exl-danger);
  background: rgba(225,29,72,0.08);
  border: 1px solid rgba(225,29,72,0.2);
  border-radius: var(--exl-radius-full);
  padding: 0.45rem 0.95rem;
}
.exl-seats-meter svg { flex-shrink: 0; }

/* Who-should-join icon cards */
.exl-audience-card {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  background: #fff;
  border: 1px solid var(--exl-line);
  border-radius: var(--exl-radius-md);
  padding: 1.1rem 1.25rem;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--exl-ink);
}
.exl-audience-card .exl-icon-badge { margin: 0; flex-shrink: 0; }

@media (max-width: 640px) {
  .exl-schedule-row { flex-wrap: wrap; }
}
