/* --------------------------------------------------
   🎥 TABLA ESTILO YOUTUBE DARK
   -------------------------------------------------- */

.tabla-ruta {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
  margin-top: 15px;
}

/* Cada fila como tarjeta oscura */
.tabla-ruta tbody tr {
  background: #1a1a1a;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.tabla-ruta tbody tr:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.7);
}

/* Celdas */
.tabla-ruta td {
  padding: 14px 16px;
  font-size: 15px;
  color: var(--color-text);
  vertical-align: middle;
}

/* Encabezado */
.tabla-ruta thead tr th {
  text-align: left;
  padding: 8px 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-light);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ✔ Checkbox */
.check-progreso {
  width: 22px;
  height: 22px;
  cursor: pointer;
  accent-color: var(--color-primary);
}

/* 📝 Botón de notas */
.btn-nota {
  padding: 6px 12px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  background: #333;
  color: var(--color-text);
  font-size: 14px;
  transition: background 0.2s ease;
}

.btn-nota:hover {
  background: #444;
}

/* Nota activa */
.nota-activa {
  background: #ffeb3b !important;
  color: #000;
  font-weight: 600;
}

/* 🎥 Vídeo */
.tabla-ruta a {
  color: var(--color-accent);
  text-decoration: none;
  font-weight: 500;
}

.tabla-ruta a:hover {
  text-decoration: underline;
}

/* 📱 Móvil */
@media (max-width: 600px) {
  .tabla-ruta td {
    padding: 12px 10px;
    font-size: 14px;
  }

  .btn-nota {
    padding: 5px 10px;
    font-size: 13px;
  }

  .check-progreso {
    width: 20px;
    height: 20px;
  }
}
